KOSEN{BLOG}について

【解決】GASでタイムゾーン変更できなかった件

こうせ

今回GASを使ってカレンダーの一括登録を試みましたが、なぜか時間がズレる!

変える方法が、どれも自分の画面とは違いなんで😭

となってましたが解決できたので記事にします。

スプレッドシートからカレンダーに連携してスケジュールを一括登録する

参考 スプレッドシートからカレンダーに連携してスケジュールを一括登録する【Google Apps Script(GAS)】大阪のシステム開発会社 株式会社ウィズテクノロジー

こちらのサイトを参考にしました。

というより、ほぼコピペで少し変えたくらいです。

なので、一括登録が知りたい方は上記の記事を参考にしてみてください。

時間がズレる

上記のサイトでは以下の2つの変更方法を紹介していました。

  • スプレッドシートの設定
  • googleカレンダーの設定

しかし、変えてもダメだったのでGAS側かなと思いログを出力してみました。

console.log(contents)

(contentsにはプログラムの中で予定の一覧が格納されています。)

予定表一覧の一部が以下になります。(一部抜粋)

    '済',
    Thu Mar 25 2021 11:00:00 GMT-0400 (Eastern Daylight Time),
    Thu Mar 25 2021 11:00:00 GMT-0400 (Eastern Daylight Time),
    Sat Dec 30 1899 07:00:00 GMT-0500 (Eastern Standard Time),
    Sat Dec 30 1899 07:00:00 GMT-0500 (Eastern Standard Time),

「Eastern Standard Time」ということは「米東部時間」になっています。

こいつのせいで時間がズレています。

タイムゾーン変更

設定を見ても以下の通りタイムゾーンに関しては何もなく、探しても見つからなかったです。

今回できなかった原因

GASのエディタが新しくなっていたためできませんでした。

 

解決方法

エディタを古いのを使う。

右上にある「以前のエディタを使用」で古いほうを使えます。

ファイル>プロジェクトのプロパティ

ここでできました!

ログを確認すると

    '',
    Fri Mar 26 2021 00:00:00 GMT+0900 (日本標準時),
    Fri Mar 26 2021 00:00:00 GMT+0900 (日本標準時),
    Sat Dec 30 1899 21:00:00 GMT+0900 (日本標準時),
    Sat Dec 30 1899 21:00:00 GMT+0900 (日本標準時),

ちゃんとかわっていました!!

カレンダーの結果もばっちりでした!!

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です