教えて!GAS!

GASの基礎知識・書き方について紹介します。

Google Apps ScriptでのDateオブジェクトの種類

Dateオブジェクトは、日付・時刻を扱うためのオブジェクトです。Dateオブジェクトを使うことで、日付・時刻に対して様々なメソッドを利用できます。

オブジェクトの一覧

主なオブジェクトを紹介します。

メンバー 説明
getDate() 当月の日(1から31まで)を取得します。
getFullYear() 西暦年を取得します。
getMonth() 月(0が1月、11が12月)を取得します。
getDay() 週の曜日(0が日曜日、6が土曜日)を取得します。
getHours() 時(0から23まで)を取得します。
getMinutes() 分(0から59まで)を取得します。
getSeconds() 秒(0から59まで)を取得します。
getMilliseconds() ミリ秒(0から999まで)を取得します。
getTime() 1970年1月1日からの経過時間をミリ秒単位で取得します。
getTimezoneOffset() 現地時間とUTC(協定世界時)との差を分単位で取得します。
setFullYear(年, 月, 日) 西暦年、月、および日を設定します。
setMonth(月, 日) 月および日を設定します。
setDate(日) 日を設定します。
setHours(時, 分, 秒, ミリ秒) 時、分、秒、およびミリ秒を設定します。
setMinutes(分, 秒, ミリ秒) 分、秒、およびミリ秒を設定します。
setSeconds(秒, ミリ秒) 秒およびミリ秒を設定します。
setMilliseconds(ミリ秒) ミリ秒を設定します。
setTime(時間) 1970年1月1日からの経過時間をミリ秒単位で設定します。
toString() 日時の文字列表現を取得します。
toDateString() 日付部分の文字列表現を取得します。
toTimeString() 時刻部分の文字列表現を取得します。
toJSON() JSONフォーマットでの日付文字列を取得します。

プログラミング例

具体的なプログラミング例を紹介します。

getDate()

let 現在の日 = new Date();
console.log("今日の日付: " + 現在の日.getDate());

結果例: 「今日の日付: 21」

getFullYear()

let 現在の年 = new Date();
console.log("今年の年: " + 現在の年.getFullYear());

結果例: 「今年の年: 2024」

getMonth()

let 現在の月 = new Date();
console.log("今月: " + (現在の月.getMonth() + 1));

結果例: 「今月: 8」
※月は0から始まるため、1を加算しています。

getDay()

let 曜日 = new Date();
console.log("今日の曜日: " + 曜日.getDay());

結果例: 「今日の曜日: 3」
※曜日は0(日曜日)から6(土曜日)までの数値で表されます。

getHours()

let 現在の時刻 = new Date();
console.log("現在の時刻(時): " + 現在の時刻.getHours());

結果例: 「現在の時刻(時): 14」

getMinutes()

let 現在の分 = new Date();
console.log("現在の分: " + 現在の分.getMinutes());

結果例: 「現在の分: 35」

getSeconds()

let 現在の秒 = new Date();
console.log("現在の秒: " + 現在の秒.getSeconds());

結果例: 「現在の秒: 10」

getMilliseconds()

let 現在のミリ秒 = new Date();
console.log("現在のミリ秒: " + 現在のミリ秒.getMilliseconds());

結果例: 「現在のミリ秒: 123」

getTime()

let 現在のタイムスタンプ = new Date();
console.log("現在のタイムスタンプ: " + 現在のタイムスタンプ.getTime());

結果例: 「現在のタイムスタンプ: 1692618100123」

getTimezoneOffset()

let タイムゾーンの差 = new Date();
console.log("タイムゾーンの差(分): " + タイムゾーンの差.getTimezoneOffset());

結果例: 「タイムゾーンの差(分): -540」
※日本時間はUTC+9なので、-540分。

setFullYear(年, 月, 日)

let 日付を設定 = new Date();
日付を設定.setFullYear(2025, 4, 10);  // 2025年5月10日(5月は0から始まるため、4を指定)
console.log("設定された日付: " + 日付を設定.toDateString());

結果例: 「設定された日付: Sat May 10 2025」

setMonth(月, 日)

let 月を設定 = new Date();
月を設定.setMonth(6, 15);  // 7月15日(7月は0から始まるため、6を指定)
console.log("設定された日付: " + 月を設定.toDateString());

結果例: 「設定された日付: Mon Jul 15 2024」

setDate(日)

let 日を設定 = new Date();
日を設定.setDate(25);
console.log("設定された日付: " + 日を設定.toDateString());

結果例: 「設定された日付: Sun Aug 25 2024」

setHours(時, 分, 秒, ミリ秒)

let 時間を設定 = new Date();
時間を設定.setHours(18, 45, 30, 500);  // 18時45分30秒500ミリ秒
console.log("設定された時間: " + 時間を設定.toTimeString());

結果例: 「設定された時間: 18:45:30 GMT+0900 (Japan Standard Time)」

setMinutes(分, 秒, ミリ秒)

let 分を設定 = new Date();
分を設定.setMinutes(50, 10, 250);  // 50分10秒250ミリ秒
console.log("設定された時間: " + 分を設定.toTimeString());

結果例: 「設定された時間: 14:50:10 GMT+0900 (Japan Standard Time)」

setSeconds(秒, ミリ秒)

let 秒を設定 = new Date();
秒を設定.setSeconds(45, 600);  // 45秒600ミリ秒
console.log("設定された時間: " + 秒を設定.toTimeString());

結果例: 「設定された時間: 14:35:45 GMT+0900 (Japan Standard Time)」

setMilliseconds(ミリ秒)

let ミリ秒を設定 = new Date();
ミリ秒を設定.setMilliseconds(750);
console.log("設定された時間: " + ミリ秒を設定.toTimeString());

結果例: 「設定された時間: 14:35:10 GMT+0900 (Japan Standard Time)」

setTime(時間)

let 時間を設定2 = new Date();
時間を設定2.setTime(1692618100123);  // 1970年1月1日からのミリ秒を設定
console.log("設定された日時: " + 時間を設定2.toString());

結果例: 「設定された日時: Sun Aug 21 2024 14:35:00 GMT+0900 (Japan Standard Time)」

toString()

let 日付と時間 = new Date();
console.log("現在の日時: " + 日付と時間.toString());

結果例: 「現在の日時: Wed Aug 21 2024 14:35:10 GMT+0900 (Japan Standard Time)」

toDateString()

let 日付のみ = new Date();
console.log("今日の日付: " + 日付のみ.toDateString());

結果例: 「今日の日付: Wed Aug 21 2024」

toTimeString()

let 時刻のみ = new Date();
console.log("現在の時刻: " + 時刻のみ.toTimeString());

結果例: 「現在の時刻: 14:35:10 GMT+0900 (Japan Standard Time)」

toJSON()

let JSON形式 = new Date();
console.log("JSON形式の日時: " + JSON形式.toJSON());

結果例: 「JSON形式の日時: 2024-08-21T05:35:10.123Z」

まとめ

Dateオブジェクトは、日付や時刻を操作するための強力なツールです。取得メソッドと設定メソッドを使い分けることで、柔軟に日付や時刻を扱うことができます。文字列としての出力や、特定の形式での日付表示も簡単に行えます。