サーチ…
日付値の比較
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