サーチ…


日付値の比較

Date値が等しいかどうかを確認するには:

var date1 = new Date();
var date2 = new Date(date1.valueOf() + 10);
console.log(date1.valueOf() === date2.valueOf());

サンプル出力: false

Dateオブジェクトの値を比較するには、 valueOf()またはgetTime()を使用する必要があります。これは、等価演算子が2つのオブジェクト参照が同じかどうかを比較するためです。例えば:

var date1 = new Date();
var date2 = new Date();
console.log(date1 === date2);

サンプル出力: false

変数が同じオブジェクトを指している場合は、次のようになります。

var date1 = new Date();
var date2 = date1;
console.log(date1 === date2);

サンプル出力: true

ただし、他の比較演算子は通常どおり動作し、 <および>を使用して、ある日付が他の日付よりも早いか遅いかを比較できます。例えば:

var date1 = new Date();
var date2 = new Date(date1.valueOf() + 10);
console.log(date1 < date2);

サンプル出力: true

演算子が等価を含んでいても動作します:

var date1 = new Date();
var date2 = new Date(date1.valueOf());
console.log(date1 <= date2);

サンプル出力: true

日付差の計算

2つの日付の違いを比較するには、タイムスタンプに基づいて比較を行うことができます。

var date1 = new Date();
var date2 = new Date(date1.valueOf() + 5000);

var dateDiff = date1.valueOf() - date2.valueOf();
var dateDiffInYears = dateDiff/1000/60/60/24/365; //convert milliseconds into years

console.log("Date difference in years : " + dateDiffInYears);


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow