【JavaScript】Date オブジェクトに日時を取得する

Date オブジェクトは日時を扱うためのオブジェクトで、以下のようなことができる。

  • 現在の日時を取得する
  • 過去や未来の日時を取得する
  • 日時の計算をする

『過去や未来の日時を取得する』や『日時の計算をする』は、例えば未来の日時を設定して、そこから現在時間を引くことによって『あと◯日』のような計算ができます。

Date オブジェクトは初期化する必要がある

Date オブジェクトを使いたいとき、日時の設定や計算をしたいときには最初に初期化する必要がある。

例文↓

const now = new Date();

上記ではDate オブジェクトを new というキーワードで初期化してから定数 now に代入しています。

Date オブジェクトをはじめとするいくつかのオブジェクトは、最初に new演算子 で初期化(インスタンス化)してから使います。インスタンス化についてはコチラをご参照ください↓

上記例文で定数 nowに代入されるのは「初期化されたDateオブジェクト」で、この定数nowを使って日時を取得したり計算したりする。

初期化の際に()にパラメータを含めない場合は、Date オブジェクトは現在日時を記憶した状態で初期化される。

Date オブジェクト の 「現在日時を記憶した状態」とは?

この「現在日時を記憶した状態」とは、例えば

  • 「日時を出力しろ」と命令したら、現在日時を出力する
  • 「一週間後が何日か出力しろ」と命令したら、現在日時から一週間後を出力する

のように、現在日時を基準日とすることを指す。

要は、初期化されたDateオブジェクトが計算するための基準日を記憶しているからこそ日時の出力や計算ができる、ということ。

Date オブジェクトに代入した「現在日時の記憶」から個別に年月日を取得する

例文の定数now に代入された「現在日時の記憶」から個別に年月日を取得する主なメソッドをまとめて記載する↓

// 初期化したDateオブジェクトを定数 now に代入する
const now = new Date();

// 年を取得する
const year = now.getFullYear();

// 月を 0 ~ 11 の数値で取得する(0 が1月)
const month = now.getMonth();

// 日を取得する
const date = now.getDate();

// 曜日を 0 ~ 6 の数字で数値する(0 が日曜日)
const day = now.getDay();

// 時を取得する
const hours = now.getHours();

// 分を取得する
const minutes = now.getMinutes();

// 秒を取得する
const seconds = now.getSeconds();

// ミリ秒を 0 ~ 999 の数値で取得する取得する
const milliseconds = now.getMilliseconds();

// 時差を取得する
const timezoneOffset = now.getTimezoneOffset();

// 1970年1月1日0時からの時間をミリ秒で取得する
const time = now.getTime();