JavaScriptのDateオブジェクトとは?

JavaScript の Date オブジェクト

JavaScript の Date オブジェクトとは?

JavaScript の Date オブジェクトは、単一の瞬間の時刻をプラットフォームに依存しない形式で表します。 Date オブジェクトは、1970 年 1 月 1 日午前 0 時 (UTC)(元期)からのミリ秒を表す整数値をカプセル化しています。

Date オブジェクトの作成

新しい Date オブジェクトを作成するには、以下のコンストラクタを使用します。

const now = new Date();

これにより、現在の時刻を表す Date オブジェクトが作成されます。また、以下のように、特定の日付と時刻を指定して Date オブジェクトを作成することもできます。

const date1 = new Date(2023, 11, 25); // 2023年12月25日
const date2 = new Date(2023, 11, 25, 10, 30, 0); // 2023年12月25日 10時30分0秒

Date オブジェクトのメソッド

Date オブジェクトには、日付や時刻を取得および設定するためのさまざまなメソッドが用意されています。以下は、よく使用されるメソッドの一部です。

メソッド 説明
getFullYear() 年を取得します。
getMonth() 月を取得します(0 = 1月、11 = 12月)。
getDate() 日を取得します。
getHours() 時を取得します。
getMinutes() 分を取得します。
getSeconds() 秒を取得します。
setFullYear() 年を設定します。
setMonth() 月を設定します。
setDate() 日を設定します。
setHours() 時を設定します。
setMinutes() 分を設定します。
setSeconds() 秒を設定します。

以下は、Date オブジェクトを使用して現在の日付と時刻を表示する例です。

<p id="date"></p>
<script>
const today = new Date();
const year = today.getFullYear();
const month = today.getMonth() + 1; // 月は0から始まるため、+1する
const date = today.getDate();
document.getElementById("date").innerHTML = year + "年" + month + "月" + date + "日";
</script>

参考資料

よくある質問

Date オブジェクトでタイムゾーンを処理するにはどうすればよいですか?

Date オブジェクトは、UTC 時刻を基準としています。タイムゾーンを処理するには、getTimezoneOffset() メソッドを使用して、ローカルタイムゾーンと UTC の間の時間差を取得できます。また、外部ライブラリを使用してタイムゾーン変換を行うこともできます。

Date オブジェクトで日付のフォーマットを変更するにはどうすればよいですか?

Date オブジェクトには、日付のフォーマットを変更するための組み込みメソッドはありません。日付を特定の形式で表示するには、getFullYear()getMonth()getDate() などのメソッドを使用して個別に日付要素を取得し、それらを連結して目的の形式にする必要があります。また、外部ライブラリを使用して日付のフォーマットを行うこともできます。

Date オブジェクトと文字列の間で変換するにはどうすればよいですか?

Date オブジェクトを文字列に変換するには、toString() メソッドを使用します。逆に、文字列を Date オブジェクトに変換するには、Date() コンストラクタを使用します。ただし、Date() コンストラクタを使用して文字列を Date オブジェクトに変換する場合は、ブラウザによって動作が異なる場合があるため注意が必要です。

その他の参考記事:JavaScript Date の日付オブジェクト