javascript 日付比較
- 異なる日付を比較する最も簡単な方法は、最初に
new Date()
構造を使用してDate
オブジェクトに変換することです。 - ほとんどの場合、日付ピッカーのUIから日付値を取得します。つまり、日付を表す文字列を
new Date()
構造に渡して、Date
オブジェクトを作成できます。
const cDate = new Date('April 13, 2010'); const jDate = new Date('April 10, 2010');
(<)
より小さいか(>)
より大きい演算子を使用してそれらを比較できます。
const cDate = new Date('April 13, 2010'); const jDate = new Date('April 10, 2010'); if (cDate < jDate) { console.log('cDate is less than jDate'); } if (cDate > jDate) { console.log('cDate is greater than jDate'); }
アウトプット
cDate is greater than jDate
javascript 日付 比較
手記:等価比較演算子
(=== または ==)
は、これらのDate
オブジェクトに対して直接動作しません。
const cDate = new Date('April 13, 2010'); const jDate = new Date('April 13, 2010'); if (cDate === jDate) { console.log('Equal'); } else { console.log('Not Equal'); }
アウトプット
Not Equal
javascript date 比較
等演算子を使用する場合は、
getTime()
メソッドを使用して日付を比較する必要があります
gettime javascript
const cDate = new Date('April 13, 2010'); const jDate = new Date('April 13, 2010'); if (cDate.getTime() === jDate.getTime()) { console.log('Equal'); } else { console.log('Not Equal'); }
アウトプット
Equal
javascript 日付
valueOf
との比較
const cDate = new Date('April 13, 2010'); const jDate = new Date('April 13, 2010'); if (cDate.valueOf() === jDate.valueOf()) { console.log('Equal'); } else { console.log('Not Equal'); }
アウトプット
Equal
javascript datetime
date-fns
は、ネイティブの JavaScript Date オブジェクトの使用をはるかに簡単にするためのユーティリティとヘルパーメソッドの単なるコレクションです。
import { isAfter, isBefore, areEqual, isSameDay } from 'date-fns'; const cDate = new Date('09/12/2021'); const jDate = new Date('09/12/2011'); isAfter(cDate, jDate); // true isBefore(cDate, jDate); // false areEqual(cDate, jDate); // false isSameDay(cDate, jDate); // false
javascript 日付チェック
moment.js
を使用して日付を比較する
- 2つの日付を比較するには、日付をモーメントオブジェクトに変換し、
isSame()
関数を使用します。
moment('2021-04-21').isSame('2021-04-21'); // true
- 日だけが同じかどうかを比較します。
moment('2021-04-21').isSame('2021-04-21', 'day'); // true moment('2021-04-21').isSame('2021-04-20', 'day'); // false
- 月が等しいかどうかを比較します。
moment('2021-04-21').isSame('2021-04-21', 'month'); // true moment('2021-04-21').isSame('2021-05-21', 'month'); // false
- 年が等しいかどうかを比較します。
moment('2021-04-21').isSame('2021-04-21', 'year'); // true moment('2020-04-21').isSame('2021-04-21', 'year'); // false