Google Apps Scriptで、タイムゾーンが変更できないというトラブルに巻き込まれました。

スクリプト関数で出力する new Date(); の日付が、デバック画面で何度確認してもアメリカ時間になってしまい、関数で日付を取得したあとに続く構文、

Utilities.formatDate( todayDate(※変数名), 'Asia/Tokyo', 'yyMMdd');

ここの第2引数で、ちゃんと Asia/Tokyo と指定しているにも関わらずタイムゾーンが変更されないので、どうしたものか? と悩んでおりました。

こんな感じで、今日と昨日の日付から取得する6桁の数字を取りたいのに、日本時間午前10時で処理を実行すると、yesterdayDateがおとといの日付を引っ張ってきてしまうのです……。

以下、備忘録としてメモを残しておきます。

タイムゾーンの修正方法

まず、「appsscript/json」マニフェストファイルをエディタで表示する、にチェックを入れます。

コード一覧に[マニフェストファイル]が出てくるので、こちらをクリックします。ここでコードを確認してみると、タイムゾーンがアメリカ、ニューヨークの時間に指定されていました。

こちらを日本に切り替えます。東京指定は、Asia/Tokyo となります。

 これで無事に日本時間になりました!

すっきり。

Excel VBAだと、こんなこと考えなくてもいいので、やっぱりExcelのほうが組みやすいっちゃ組みやすい。はあ、これで1時間費やしてしまった。

さあ、お昼を食べよう。