JavaScript の Date オブジェクトの作成
ここでは JavaScript で日時を表す Date オブジェクトの作成方法を説明します。
JavaScript の日付と時刻は Date クラス
JavaScript で日時を扱うには Date クラスを用います。 Date というクラス名ですが、日付だけでなく時刻も含まれています。
ひとつの Date オブジェクトを作成すると、それを UTC あるいはローカル時間として取得できます。
JavaScript の Date オブジェクトの作成
Date オブジェクトは new Date() として作成できます。
// 現在時刻
let d = new Date()
コンストラクタに何も渡さないと、現在時刻を表すオブジェクトとして作成されます。
ローカル時間で Date オブジェクトを作成
年月日及び時刻をコンストラクタに渡すことで、日時を指定して Date オブジェクトを作成することもできます。
Date オブジェクトの toString() メソッドでローカル時間を表す文字列が返ります。 UTC で取得するには toUTCString() メソッドを使います。また、ISO 時刻 (ISO 8601) を取得するには toISOString() メソッドを使います。
ISO 時刻については「ISO 8601 の時刻表記」をご覧ください。
let d = new Date(2020, 0, 1, 2, 3, 4) // 1/1/2020 2:03:04
console.log(d.toString())
// Wed Jan 01 2020 02:03:04 GMT-0800 (Pacific Standard Time)
console.log(d.toUTCString())
// Wed, 01 Jan 2020 10:03:04 GMT
console.log(d.toISOString())
// 2020-01-01T10:03:04.000Z
動作確認は米国西海岸時間 (Pacific Standard Time) のタイムゾーンで行っています。
日時はローカル時間で指定します。
注意点として、月は 0 ベースで指定します。つまり、0 は 1 月、1 は 2 月、 2 は 3 月という風に指定します。
上の例ではコンストラクタに 2020, 0, 1 と渡すことで 「2020年の1月1日」と認識されています。
UNIX 時間から Date オブジェクトを作成
コンストラクタには UNIX 時間 (UNIX time, UNIX epoch time) をミリ秒単位で渡して、Date オブジェクトを作成することもできます。
let d = new Date(1000)
console.log(d.toUTCString())
// Thu, 01 Jan 1970 00:00:01 GMT
UTC 時間で Date オブジェクトを作成
Date クラスの UTC() メソッドは、指定した時間の UNIX 時間を返します。
Date.UTC() が返す UNIX 時間を用いることで、UTC 時間で Date オブジェクトを作成できます。
let d = new Date(Date.UTC(2020, 0, 1))
console.log(d.toUTCString())
// Wed, 01 Jan 2020 00:00:00 GMT