Contents |
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);
}
以上です。