GoogleAppsScriptで現在日時の取得

概要

GoogleAppsScriptで日時を扱うには、javascriptと同様にnew Date()で扱うことができます。
シンプルに日時のみが欲しい場合はUtilities.formatDate()が便利です。

今の日時が欲しい場合

GoogleAppsScriptの組み込み関数である、Utilities.formatDate()が便利です。
例として、今日の日時を取得してみます。

get_today.js
var date = new Date();
// 今日の日付を表示
Logger.log(Utilities.formatDate( date, 'Asia/Tokyo', 'yyyyMMdd: hhmmss'));

文字と表すものの対応表としては、以下のようになっております。
Mが月を,mが分を表すところだけ間違いやすいので注意してください。

文字
y
M
d
h
m
s

日付を元に計算がしたい場合

一週間後を計算したい場合など、今以外の日付や時刻が欲しい場合、各種メソッドを使って日時を取得する必要があります。
メソッドとその役割としては、

単位メソッド備考
getFullYear
getMonth実際の月に合わせるためには+1する必要がある
getDate
曜日getDay
時間getHours
getMinutes
getSeconds

となっております。

例として、上と同様に今の日付と時間を取得するプログラムを作成してみました。

get_today_time.js
function Getnow() {
  var d = new Date();
  var y = d.getFullYear();
  var mon = d.getMonth() + 1;
  var d2 = d.getDate();
  var h = d.getHours();
  var min = d.getMinutes();
  var s = d.getSeconds();
  var now = y+"/"+mon+"/"+d2+" "+h+":"+min+":"+s;
  return now;
}

曜日の取得

曜日の取得は、date.getDay()で行うことができます。
ただし、数値で返ってくるため、以下のスクリプトでは日本語の曜日に変更しています。

get_day_of_week.js
function GetDayOfWeek() {
  var date = new Date();
  var dayOfWeek = date.getDay();
  var dayOfWeekStr = [ "日", "月", "火", "水", "木", "金", "土" ][dayOfWeek];
  Logger.log(dayOfWeekStr);
  return dayOfWeekStr
}

明日の取得

スクリプトを動かす次の日が欲しい場合は、date.setDate()を使用します。
以下のスクリプトでは、今週一週間のオブジェクトを取得しています。

get_day_of_week2.js
// 今の時刻(オブジェクト)を取得
var date = new Date();
for (var i = 0; i < 7; i++) {
  var date.setDate(date.getDate() + 1);
  // 来月,来年が欲しい場合は getMonth(), getFullYear()に変更
  Logger.log(date);
}

以上です。