日付・時刻の生成と操作
// ── 現在の日時を取得する ──────────────────────────────────
const now = new Date();
// ⚠️ getMonth() は 0始まり(1月 = 0)なので +1 が必要!
console.log(now.getFullYear()); // 2024 ← 年
console.log(now.getMonth() + 1); // 1〜12 ← 月(+1 必須)
console.log(now.getDate()); // 1〜31 ← 日
console.log(now.getDay()); // 0〜6 ← 曜日(0=日曜)
console.log(now.getHours()); // 0〜23 ← 時
console.log(now.getMinutes()); // 0〜59 ← 分
// ── 特定の日時を作る ──────────────────────────────────
const date1 = new Date('2024-04-15'); // ISO形式の文字列から
const date2 = new Date(2024, 3, 15, 10, 30); // (年, 月-1, 日, 時, 分)
// ── 日付の比較 ────────────────────────────────────────
const d1 = new Date('2024-01-01');
const d2 = new Date('2024-12-31');
console.log(d1 < d2); // true ← 日付の大小比較ができる
console.log(d2 - d1); // ミリ秒単位の差(約3.15億ms = 約365日)
// ── フォーマット ─────────────────────────────────────
const d = new Date('2024-04-15T10:30:00');
console.log(d.toISOString()); // '2024-04-15T10:30:00.000Z'
console.log(d.toLocaleDateString('ja-JP')); // '2024/4/15'
console.log(d.toLocaleString('ja-JP')); // '2024/4/15 10:30:00'
// ── タイムスタンプ(ミリ秒)────────────────────────────
const start = Date.now(); // 現在時刻のタイムスタンプ
// ... 処理 ...
console.log('処理時間:', Date.now() - start, 'ms');getMonth()は0始まりなので注意。複雑な日付操作にはdate-fnsやdayjsなどのライブラリを使うと安全。