Google App Scriptで「今」を取得するために new Date() なんてしますよね。
let now = new Date(); //現在の時刻を取得
それでデバッグ実行してみると now の値はこんな感じになります。
思った通りの時刻じゃないですね。時差が日本のGMT+0900(+9時間)じゃなくて、GMT-0400(-4時間)になっています。
原因はタイムゾーンの設定
GASではデフォルトのタイムゾーンが America/New_York になっているらしい。ユーザーのロケールに合わせてくれよ。
Date に足し算引き算して時差を合わせてもいいのですが、せっかくなのでタイムゾーンを変更してコードを汚さずに対応してみます。
まずは、タイムゾーンを変更するために appsscript.json を変更できるようにします。このファイルは通常は隠されていて、GASプロジェクトの設定によって見えるようになります。
メニューの「プロジェクトの設定」を開いて「「appsscript.json」マニュフェスト ファイルをエディタで表示する」にチェックを入れます。
エディタに戻るとファイルにappsscript.jsonが追加されているので、このファイルを開きます。あとは、timeZone のところを Asia/Tokyo に変更するだけです。
"timeZone": "Asia/Tokyo",
これで new Date() すれば、日本時間での日時を取得できます。
もし国際協定時(時差±0)にしたければ、Asia/Tokyo の代わりに Etc/GMT でいけると思います。
“GASのタイムゾーンを変更する方法” への1件のフィードバック
コメントは停止中です。