JavaScriptで2つの日付を比較する
この投稿では、JavaScriptで2つの日付文字列を比較する方法について説明します。ソリューションは、最初の日付文字列が2番目の日付文字列より大きいか、小さいか、等しいかを判断する必要があります。
指定された文字列値が有効な日付を表し、次のバージョンの形式で指定されていると想定します。 ISO 8601 カレンダーの日付。
1.日付オブジェクトの使用
ここでのアイデアは、与えられた文字列をに変換することです Date
を使用するオブジェクト Date()
コンストラクタ。次に、両方を比較します Date
関係演算子を使用するオブジェクト >
, <
, <=
また >=
。次の例はを示しています。
1 2 3 4 5 6 7 8 9 10 11 12 |
var first = new Date('01/21/2020'); var second = new Date('01/25/2020'); if (first < second) { console.log(`${first} is less than ${second}`); } else if (first > second) { console.log(`${first} is greater than ${second}`); } else { console.log(`${first} is equal to ${second}`); } |
指定された文字列が年-月-日付形式で提供されている場合、文字列をに変換しなくても比較は機能します Date
物体。これを以下に示します。ここでは、文字列が辞書式順序、つまり辞書順で比較されます。
1 2 3 4 5 6 7 8 9 10 11 12 |
var first = '2020/01/25'; var second = '2020/01/20'; if (first < second) { console.log(`${first} is less than ${second}`); } else if (first > second) { console.log(`${first} is greater than ${second}`); } else { console.log(`${first} is equal to ${second}`); } |
Moment.jsは、日付の解析、検証、操作、およびフォーマットを行うための軽量のJavaScript日付ライブラリです。関係演算子を使用して2つの日付文字列を比較するために使用できます >
, <
, <=
また >=
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
var moment = require('moment'); var first = new moment('01/25/2020', 'L'); var second = new moment('January 15, 2020', 'LL'); if (first < second) { console.log(`${first} is less than ${second}`); } else if (first > second) { console.log(`${first} is greater than ${second}`); } else { console.log(`${first} is equal to ${second}`); } |
これで、JavaScriptで2つの日付を比較できます。