JavaScript 2 つの日付を比較する

最終更新日
金曜日 6日 5月 2022

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