GASでスプレッドシートにある「日付」を扱ってる人はいっぱいいると思います。ここ、大きな罠があって、
- スプレッドシートのタイムゾーン
- スクリプトエディタのタイムゾーン
を合わせておかないと時間がズレます。1月15日を扱ってるはずなのに1月14日の数字が出てる、みたいなことが起こります。
私の手元ではスクリプトエディタのタイムゾーンが
"timeZone": "America/New_York",
になってました。
スプレッドシートのタイムゾーン
スプレッドシートの「ファイル→Googleスプレッドシートの詳細」から設定可能
スクリプトエディタのタイムゾーン
2020年末にエディタが新しくなりました。旧エディタは画面から設定ができたのですが新エディタになって設定できるメニューがなくなりました。そのため 自分で「appsscript.json」を編集する必要があります。(他の方法があった教えてほしい!
スクリプトファイルの左メニュー
「appsscript.json」マニフェストファイルをエディタで表示する をチェックします。
エディタに戻ると、appsscript.json
が表示されるようになります。
そこの timezone
を "Asia/Tokyo"
に変更することで日本標準時のタイムゾーンが設定されます。