JavaScriptで日付や時間を扱う「Date」オブジェクト

JavaScriptの「Date」オブジェクトは、日付や時間を扱うためのオブジェクトです。日付や時間の取得、設定、比較、操作などが可能で、タイムスタンプを使った処理にも使用されます。Dateオブジェクトは、特定の日時を表すインスタンスを生成し、さまざまな操作を行うメソッドが用意されています。


Dateオブジェクトの生成方法
Dateオブジェクトを生成するには、「new Date()」構文を使います。以下の方法で生成できます。
現在の日付と時刻の取得
const now = new Date();
console.log(now); // 現在の日付と時刻が表示されます
特定の日付を指定して生成
年月日、時間を指定してDateオブジェクトを作成することも可能です。
const specificDate = new Date(2023, 6, 15, 10, 30, 0);
console.log(specificDate); // 指定された日付と時刻が表示されます
タイムスタンプから生成
ミリ秒でのタイムスタンプを指定して生成することもできます。
const timestampDate = new Date(1672531200000);
console.log(timestampDate); // 指定のタイムスタンプに基づいた日付が表示されます
文字列から生成
日付文字列を渡すことで生成もできます。日付の形式は一般的なISO形式が推奨されます。
const stringDate = new Date("2024-11-15T12:00:00");
console.log(stringDate); // 文字列に基づいた日付と時刻が表示されます
日付や時刻の取得方法
生成したDateオブジェクトから年、月、日などを取得するメソッドがあります。
年を取得
const year = now.getFullYear();
console.log(year); // 年が表示されます
月を取得(0から11の範囲)
const month = now.getMonth();
console.log(month); // 月が0始まりで表示されます(0: 1月, 11: 12月)
日を取得
const day = now.getDate();
console.log(day); // 日が表示されます
曜日を取得(0から6の範囲)
const weekday = now.getDay();
console.log(weekday); // 曜日が0始まりで表示されます(0: 日曜日, 6: 土曜日)
時間を取得
const hours = now.getHours();
console.log(hours); // 時が表示されます
日付や時刻の設定方法
Dateオブジェクトには日付や時刻を設定するメソッドもあります。
年を設定
specificDate.setFullYear(2025);
console.log(specificDate); // 年が変更された日付が表示されます
月を設定
specificDate.setMonth(5); // 6月(0: 1月, 11: 12月)
console.log(specificDate);
日を設定
specificDate.setDate(10);
console.log(specificDate); // 日が変更された日付が表示されます
時刻を設定
specificDate.setHours(15);
console.log(specificDate); // 時が変更された日付が表示されます
タイムスタンプの取得
JavaScriptでは、1970年1月1日0時0分0秒UTCからの経過ミリ秒数(UNIXタイムスタンプ)を取得できます。
const timestamp = now.getTime();
console.log(timestamp); // タイムスタンプが表示されます
日付の比較
JavaScriptでは、Dateオブジェクト同士の大小比較が可能です。日付を比較して、どちらが先か後かを判定できます。
const date1 = new Date("2024-11-01");
const date2 = new Date("2024-12-01");
console.log(date1 < date2); // true
console.log(date1.getTime() === date2.getTime()); // false
日付のフォーマット
Dateオブジェクトを使って整形された日付文字列を表示する方法です。
toLocaleDateStringメソッド
地域に合わせた日付形式で表示できます。
console.log(now.toLocaleDateString("ja-JP")); // 日本の形式で日付が表示されます
toISOStringメソッド
ISO 8601形式の文字列で出力します。データベースや他のプログラムとの互換性が高くなります。
console.log(now.toISOString()); // ISO形式で表示されます
日付の加算と減算
JavaScriptでは、ミリ秒単位で加算・減算することで簡単に日付の操作ができます。
1日後の日付を取得
const tomorrow = new Date();
tomorrow.setDate(now.getDate() + 1);
console.log(tomorrow); // 1日後の日付が表示されます
1時間後の時刻を取得
const oneHourLater = new Date();
oneHourLater.setHours(now.getHours() + 1);
console.log(oneHourLater); // 1時間後の時刻が表示されます
UTCとローカル時間
JavaScriptのDateオブジェクトは、UTC(協定世界時)とローカル時間の両方で時刻を扱うことができます。
UTCの時間を取得
console.log(now.getUTCFullYear()); // UTCの年が表示されます
console.log(now.getUTCHours()); // UTCの時が表示されます
まとめ
JavaScriptの「Date」オブジェクトは、日付と時間に関するさまざまな操作を行える強力なオブジェクトです。Dateオブジェクトを使えば、日付の生成、取得、設定、フォーマット、比較などが簡単にできるため、スケジュール管理や時刻表示など多くの用途で役立ちます。