Google App Script のタイムゾーンを変更する

Google App Script(以下GAS表記) で日付や時間を new Date() で扱う際には注意が必要です。

GAS を書く場合デフォルトの状態だとタイムゾーンが "timeZone": "America/New_York", となってしまうため、 new Date() のように日付を取得しようとした時に JST(Japan Standard Time) が取得されません。

new Date();
// => Sat Mar 13 2021 23:26:52 GMT-0500 (Eastern Standard Time)

appscript.json からタイムゾーンを変更する

これは、 appscript.json に記載されているタイムゾーンの設定が Amerika/New_York になっているのが原因なので、これを変更してあげれば解決できます。

エディタのファイルリストに appscript.json が表示されていない場合は、左メニューの プロジェクトの設定 より、全体の設定 => 「appsscript.json」マニフェスト ファイルをエディタで表示する にチェックを入れます。

https://i.gyazo.com/3669a6bb4393bc14710e285567eec477.jpg

https://i.gyazo.com/256e4e2b73dca37fdb1d0d76db23b936.png

エディタのファイルリストに appscript.json が表示されるようになっているかと思います。 ファイルを開いて、中の Timezone の項目を Asia/Tokyo に変更すれば完了です。

https://i.gyazo.com/47ef120903d6c2c1929be5de4a02055d.png

new Date() を実行して、タイムゾーンの変更を確認します。

new Date();
// => Sun Mar 14 2021 14:38:04 GMT+0900 (Japan Standard Time)

無事、JST が返ってくるようにタイムゾーンを変更することができました。