JavaScriptで日付を比較する方法

1 min読了の目安(約800字TECH技術記事

『6月からお知らせを掲載する』とか、
『登録日から1週間だけ送料を無料にする』とか。
ある一定の日を過ぎたら処理を起こしたいとき、日付の比較ってよく使いますよね。

今回はその実装方法を紹介します。

実装方法

new Date()の形にして比較する

日付の比較は、new Date()の形で行いましょう。
そうでないとうまく計算されません。

// 今日のタイムスタンプ
const today = new Date(Date.now());
// Mon Jun 22 2020 00:00:00 GMT+0900 (日本標準時)
const deadline = new Date(2020, 05, 22);

今日の日付はnew Date(Date.now)
そして、比較対象となる日(今回は締切日)は、直接new Date()につっこんでいきます。
ただし、月は0はじまりなので6月としたい場合は『5』を入力してくださいね。

新しい日付のほうが大きい判定になる

if文で比較して分岐する場合、
どっちが大きくなるのか気になりますよね。

日付の場合は、『新しいほど大きい』という判定になります。

なので今回であればif文は以下のようになります。

// 今日のタイムスタンプ
const today = new Date(Date.now());
// Mon Jun 22 2020 00:00:00 GMT+0900 (日本標準時)
const deadline = new Date(2020, 05, 22);

if(today > deadline){
    console.log('締切日を過ぎています。');
} else {
    console.log('締切日はまだ過ぎていません。');
}