2022/06/11 Podcastはしばらくお休みします。
GASで日付や時間を扱うならタイムゾーン設定を先に変更しておくべし
こんにちは。安慶名勇子(アゲナユウコ)です。
Google SpreadsheetでGASを記述する際、日付や時間の処理って結構な頻度で出てきます。その際、日本時間で取得したいのに全然違う日付(または時間)になってしまうなんてこともあり、そのたびにUtilities.formatDateで表示形式を整える…なんて面倒じゃありませんか?
下記の例をご覧ください。簡単なプログラムなんですが、現在時刻(2021年10月25日、22時15分)を取得してみたところ、13時15分と表示されました。グリニッジ標準時が取得されているため、日本時間ではない時間が表示されてしまうわけです。

これを日本時間に変更するには、Utilities.formatDate(now, “JST”, “yyyy/MM/dd HH:mm:ss”)); といった1文を追加する必要があるわけですが、毎回この処理をするのは面倒なので、タイムゾーン設定を日本時間に変更したいと思います。
タイムゾーン設定変更方法
- Google App Scriptを開き、左サイドバーの「プロジェクトの設定」マークをクリック
- 『「appsscript.json」マニフェスト ファイルをエディタで表示する』にチェックを入れる

- 「エディタ」に戻る
- ファイルに「appsscript.json」が表示されているので、プログラムの内容にある“timeZone”:を”Asia/Tokyo”に変更し、保存ボタンを押す
1 2 3 4 5 6 7 |
{ "timeZone": "Asia/Tokyo", "dependencies": { }, "exceptionLogging": "STACKDRIVER", "runtimeVersion": "V8" } |

日本時間で表示されるか確認してみる
この変更を行った後、再度現在時刻を取得してみるとこうなりました。ちゃんと日本時間になっていますね(実行時は 2021年10月25日、23時02分でした)。大成功。

念のために appsscript.json ファイルは非表示に
あとは、appsscript.jsonを間違って変更してしまわないように、非表示設定に戻しておきます。

以上、設定しておくと後々助かる、タイムゾーン設定の変更方法でした。ご参考にどうぞ。