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 (関連情報)
- MDN Web Docsにおける
Date
: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date moment.js
ライブラリ: https://momentjs.com/date-fns
ライブラリ(現代的な代替品): https://date-fns.org/