GASで時間を扱うには?

プログラムで時間の情報を扱うには少し慣れが必要です。今回はGASで時間情報を扱うための方法を紹介します。

前準備:タイムゾーンを東京に設定する

まず気を付けなければならないのは時差です。

GASはGoogleが開発したものなので、デフォルトでは時間がアメリカのものになっています。これを日本に変更しないと時差が発生してしまいます。

そのため日本でプログラムを動かすなら、下記の手順でタイムゾーンを東京に変更する必要があります。

  1. Google Apps Scriptのプロジェクトを開く
  2. プロジェクト設定(歯車マーク)を開く
  3. 「全般設定」の**「appsscript.json」マニフェスト ファイルをエディタで表示する**をチェックする
  4. エディタ(<>マーク)を開く
  5. appsscript.jsonを開く
  6. "timeZone": "America/New_York””America/New_York””Asia/Tokyo”に変更する

基本知識:GASでの時間の扱い方

GASの時間は「Dateオブジェクト」と「UNIX時間」と「formatDate」で表現される

GAS(Javascript)において、時間はDateオブジェクトUNIX時間formatDateで表現されます。

Dateオブジェクトは年月日や曜日等の時間の情報をそのまま持っています。

これに対し、UNIX時間は「1970年1月1日0時0分0秒」から今までに経過した時間をミリ秒で表現したものです。1秒=1000ミリ秒なので、「1970年1月1日0時0分1秒」のUNIX時間は1000になります。

そして時間は「1970年1月1日」や「1970/1/1」、「0:00:00」等様々なフォーマットで表現されます。こうしたフォーマットへの変換を行えるのがformatDateです。