はじめに
主にカレンダーやGmailと連携するプロジェクトにおいて、Date
関連の処理を行った場合、意図した結果を得られない事がありました。原因はGASプロジェクトにデフォルト設定されているタイムゾーンの影響を受けるためでした。
GASプロジェクトのタイムゾーンを日本時間(実行環境のタイムゾーン)に変更することで回避できるのですが、以前まではマニュフェストファイル(appsscript.json
) を開いて編集する必要がありました。
執筆時現在では、スクリプトエディタの プロジェクトの設定 より、プルダウンにて簡単に設定変更ができるようになり、合わせてスクリプトプロパティの編集もできるようになっています。
April 13, 2022
You can now perform the following actions in the new Apps Script integrated development environment (IDE):Create test deployments for Editor Add-ons.
Add, edit, and delete script properties from the project settings page.
Sort files alphabetically in the editor.
Debug Rhino functions without migrating to the V8 runtime. If your code isn't V8 compatible, you might receive errors.
Set the time zone for a script project.
タイムゾーンの変更手順
2022年4月の機能追加まではアメリカのニューヨーク時間になっている事がほとんどでしたが、現在はLocale設定に準じていると思いますので、基本的には変更する必要はないと思います。Date
関連の処理を行うプロジェクトの場合は、念のため確認しておきましょう。
1. スクリプトエディタよりプロジェクトの設定画面を開く
左側のメニューより、ギアのアイコン(プロジェクトの設定)をクリック。
2. タイムゾーンを変更する
初期状態で日本時間が選択されていると思いますが、別のタイムゾーンが選択されていた場合など、 (GMT+09:00) 日本標準時 – 東京 を選択して日本時間に合わせましょう。
※実行環境によっては他のタイムゾーンに設定してください。
最後に
以前より簡単になったタイムゾーン設定の手順ですが、むしろ意識しないで済むようになったと言えます。
とは言うものの、カレンダーやGmail連携のプロジェクトで、なにか結果がおかしいぞ、というときには、プロジェクトの設定にあたりをつけられるよう、頭の片隅には置いておく必要はありますね。
特に古いプロジェクトをコピーして流用しようとした際には注意が必要です。また、スプレッドシートの場合には、スプレッドシート自体の設定も確認してみましょう。1
[参考・引用]
-
Magicodeからの記事移動後、加筆を行いました。 ↩