TypeScript:
日付を比較する

How to (方法)

const date1 = new Date('2023-03-30T00:00:00');
const date2 = new Date('2023-04-02T00:00:00');

// 日付を比較してみる
if (date1 < date2) {
  console.log('date1 is earlier than date2');
} else if (date1 > date2) {
  console.log('date1 is later than date2');
} else {
  console.log('date1 is the same as date2');
}

// 出力: date1 is earlier than date2

Deep Dive (深堀り)

日付の比較は、JavaScriptの初期からあります。背後ではDateオブジェクトはUnixエポック時からのミリ秒数に変換され、これにより比較が可能になります。getTimeメソッドで明示的にミリ秒を取得し比較することもできます。以下に、比較する代替方法を示します。

const date1 = new Date('2023-03-30T00:00:00');
const date2 = new Date('2023-04-02T00:00:00');

// getTimeを使った比較
if (date1.getTime() < date2.getTime()) {
  console.log('date1 is earlier than date2');
} else if (date1.getTime() > date2.getTime()) {
  console.log('date1 is later than date2');
} else {
  console.log('date1 is the same as date2');
}

// 出力: date1 is earlier than date2

違うタイムゾーンを考慮に入れるなら、Dateオブジェクト作成時にUTCの日付文字列を使うか、または適切なタイムゾーン情報で日付をパースするライブラリ(例えばmoment-timezone)を使用することが重要です。

See Also (関連情報)