前提・実現したいこと
GASのトリガー(毎日朝5~6時)が予定時刻通りに働かないという事象が発生しました。
タイムゾーンがずれている可能性もあると思い、確認しましたがタイムゾーンに問題はないようです。
どんな対策が考えられるでしょうか
発生している問題・エラーメッセージ
下記はエディターで実行ボタンを押してコードを動かしたとき開始時間と、
consol.logで実行時の日時を示したものです。18時間ずれています。
スプレッドシートのタイムゾーンはGMT+9:00 Tokyoと正しく設定されてます
![]
プロジェクトのタイムゾーンも"Asia/Tokyo"と正しく設定されています。
ただしトリガーの設定画面で、時刻はGMT-9:00 とずれています
エラーメッセージ
該当のソースコード
1function postAnswers2LINE() { 2 3 //本日の日付を取得する 4 const today = new Date(); 5 console.log(today); 6 7 //検索する範囲を指定する 8 const dataRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Index').getDataRange().getValues().slice(1); 9 //console.log(dataRange); 10 11 //今日の日付と先頭列に記入されている日付が一致しているレコードだけ抜き出す 12 let filtered= dataRange.filter(function(record){ 13 if(record[0].getFullYear() === today.getFullYear() && record[0].getMonth() === today.getMonth() && record[0].getDate() === today.getDate()){ 14 return true; 15 } 16 }); 17 //console.log(filtered); 18 19 //問題番号と正答だけにする 改行を入れる 20 let message = filtered.map(function(e) { return "\n"+e[1]+"\n"+e[4]+"\n";}); 21 22 //日付と初回、復習1~3回目のいずれかを明示する 23 const title=today.getMonth()+1+"/"+today.getDate()+" "+"復習3回目の正答"; 24 message = title + message; 25 //tempMessage = message.join("\n"); 26 console.log(message ); 27 28 //関数sendHttpPost_lineに変数messageを渡して起動する 29 //sendHttpPost_line(message); 30 31}
試したこと
お恥ずかしいことに
どこに手を付ければいいのかわかりません。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー