Dateオブジェクトとは
JavaScriptのDateオブジェクトは、日付と時間を扱うための組み込みオブジェクトです。このオブジェクトは、1970年1月1日00:00:00 UTCからのミリ秒単位の経過時間を基に日付と時間を計算します。
Dateオブジェクトは、以下のような様々な情報を取得したり操作したりすることが可能です:
- 年
- 月
- 日
- 曜日
- 時
- 分
- 秒
- ミリ秒
これらの情報は、UTC(協定世界時)またはローカルタイム(ブラウザのシステム時間)のどちらでも取得・設定することができます。
また、Dateオブジェクトは、日付の計算や比較、日付のフォーマット変更など、日付に関する多くの操作をサポートしています。これにより、JavaScriptで日付や時間に関する複雑な操作を行うことが可能になります。これらの詳細については、後続のセクションで説明します。
Dateオブジェクトの作成方法
JavaScriptのDateオブジェクトは、以下の4つの方法で作成することができます:
- 引数なし:新しいDateオブジェクトを作成すると、現在の日付と時間が設定されます。
let now = new Date();
console.log(now); // 現在の日付と時間を表示
- ミリ秒:1970年1月1日00:00:00 UTCからのミリ秒単位の経過時間を引数に取ります。
let someDate = new Date(1672486278000);
console.log(someDate); // 2023年1月1日01:01:18 UTC
- 日付文字列:日付を表す文字列を引数に取ります。この文字列は、
YYYY-MM-DDTHH:mm:ss.sssZ
の形式である必要があります。
let someDate = new Date('2023-01-01T01:01:18.000Z');
console.log(someDate); // 2023年1月1日01:01:18 UTC
- 年、月、日、時、分、秒、ミリ秒:これらの値を引数に取ります。月は0から始まるため、1月は0、12月は11となります。
let someDate = new Date(2023, 0, 1, 1, 1, 18, 0);
console.log(someDate); // 2023年1月1日01:01:18 ローカルタイム
これらの方法を使って、JavaScriptのDateオブジェクトを作成し、日付と時間を操作することができます。次のセクションでは、Dateオブジェクトのメソッドについて詳しく説明します。
Dateオブジェクトのメソッド
JavaScriptのDateオブジェクトには、日付と時間を操作するための多くのメソッドがあります。以下に、いくつかの主要なメソッドを紹介します:
- getFullYear():年を取得します(4桁の数値)。
let date = new Date();
console.log(date.getFullYear()); // 2023
- getMonth():月を取得します(0-11)。
let date = new Date();
console.log(date.getMonth()); // 0 (1月)
- getDate():日を取得します(1-31)。
let date = new Date();
console.log(date.getDate()); // 1
- getHours()、getMinutes()、getSeconds()、getMilliseconds():それぞれ時間、分、秒、ミリ秒を取得します。
let date = new Date();
console.log(date.getHours()); // 1
console.log(date.getMinutes()); // 1
console.log(date.getSeconds()); // 18
console.log(date.getMilliseconds()); // 0
- getTime():1970年1月1日00:00:00 UTCからのミリ秒単位の経過時間を取得します。
let date = new Date();
console.log(date.getTime()); // 1672486278000
これらのメソッドは、Dateオブジェクトから日付と時間の情報を取得するために使用されます。また、これらのメソッドには対応するUTC版(getUTCFullYear()
、getUTCMonth()
など)と設定版(setFullYear()
、setMonth()
など)があります。
これらのメソッドを使って、JavaScriptのDateオブジェクトから日付と時間の情報を取得したり、日付と時間を設定したりすることができます。次のセクションでは、日付の計算と比較について詳しく説明します。
日付の計算と比較
JavaScriptのDateオブジェクトを使用すると、日付の計算や比較が可能になります。以下に、その方法をいくつか紹介します:
- 日付の計算:Dateオブジェクトの
getTime()
メソッドは、1970年1月1日00:00:00 UTCからのミリ秒単位の経過時間を返します。これを利用して、日付の計算を行うことができます。
let date1 = new Date(2023, 0, 1); // 2023年1月1日
let date2 = new Date(2023, 11, 31); // 2023年12月31日
let diff = date2.getTime() - date1.getTime(); // ミリ秒単位での差分
let diffDays = diff / (1000 * 60 * 60 * 24); // 日単位での差分
console.log(diffDays); // 364
- 日付の比較:Dateオブジェクト同士を直接比較することはできませんが、
getTime()
メソッドを使用してミリ秒単位の数値に変換し、それを比較することができます。
let date1 = new Date(2023, 0, 1); // 2023年1月1日
let date2 = new Date(2023, 0, 2); // 2023年1月2日
console.log(date1.getTime() < date2.getTime()); // true
console.log(date1.getTime() === date2.getTime()); // false
console.log(date1.getTime() > date2.getTime()); // false
これらの方法を使って、JavaScriptのDateオブジェクトを用いて日付の計算や比較を行うことができます。これにより、日付や時間に関する複雑な操作を行うことが可能になります。これらの詳細については、後続のセクションで説明します。