こんにちは!
今回は「Javascriptで日付を比較する方法」について共有したいと思います。
プロダクト開発において、日付を比較する場面が多々あると思いますが、取得できた日付の形式によって使い分けていくのが良いと思ってます。
方法1:Dateオブジェクトに型を統一し、getTime()で比較する
以下にサンプルコードを交えてお伝えします。
サンプルコードでは昨日の日付かどうかを比較しております。
const targetDate = new Date('2025-4-10'); // 比較対象の日付(DBやAPI等で取得)
const yesterday = new Date();
yesterday.setDate(yesterday.getDate() - 1)
yesterday.setHours(0, 0, 0, 0);
const today = new Date();
today.setHours(0, 0, 0, 0);
if (yesterday.getTime() <= targetDate.getTime() && today.getTime() > targetDate.getTime()) {
console.log('昨日の日付です。');
} else {
console.log('昨日の日付ではありません。');
}
方法2:Dateオブジェクトに変換し、getTime()で比較する
同様に以下のサンプルコードを交えてお伝えします。
例では年・月・日をそれぞれオブジェクトで取得したのを前提にしてます。
const targetDate = {
year: 2025,
month: 4,
date: 10,
}; // 比較対象の日付(DBやAPI等で取得)
const yesterday = new Date();
yesterday.setDate(yesterday.getDate() - 1)
if (
targetDate.year === yesterday.getFullYear() &&
targetDate.month === yesterday.getMonth() &&
targetDate.date === yesterday.getDate()
) {
console.log('昨日の日付です。');
} else {
console.log('昨日の日付ではありません。');
}
他にも方法はあると思いますが、よく使うのを紹介しました。
どちらを使えば良いかはケースバイケースで、取得した日付の型や中身によるかと思います。
以上、お疲れさまでした〜🍵