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

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 JavaScript 入門