GASを使って任意の時間に関数を動かしたいと考え、トリガーをセットするためのコードを作成しています。
作成が完了したので実行させ、無事指定した時間のトリガーはセットできましたがなぜかその時間になっても起動しません。
トリガーの詳細画面を確認しても指定した時間にセットはされていますので特に問題はないようです。
その後調査を続けたところ「new Date()」のタイムゾーンが意図しない時間になっていることがわかりました。
本来は日本時間である「GMT+0900 (Japan Standard Time)」となるべきところが「GMT-0500 (Eastern Standard Time)」となっており
この影響でうまく起動しないのではと思っています。
ただその先の改善方法をネットで捜索してみましたが参考になるようなものがなく行き詰まっております。
何か解決策がありましたらご教示いただけないでしょうか?
試したこととしては、
①以下コードに「.inTimezone("Asia/Tokyo")」を追加して実行 → 結果、タイムゾーンは変化なし
②スプレッドシート事態のタイムゾーンを「Tokyo」から別のタイムゾーンに切り替え、その後再度「Tokyo」にして実行 → 結果、タイムゾーンは変化なし
また参考までに自作したコードを記載します。
function setTrigger(){
var triggerDay = new Date();
triggerDay.setHours(09);
triggerDay.setMinutes(59);
ScriptApp.newTrigger('関数名')
.timeBased()
.at(triggerDay)
.inTimezone("Asia/Tokyo")
.create();
}
回答1件
あなたの回答
tips
プレビュー