Sök…


Jämför datumvärden

För att kontrollera jämställdheten mellan Date :

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

Provutgång: false

Observera att du måste använda valueOf() eller getTime() att jämföra värdena för Date objekt eftersom jämställdhetsoperatören kommer att jämföra om två objektreferenser är desamma. Till exempel:

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

Provutgång: false

Medan variablerna pekar på samma objekt:

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

Provutgång: true

Men de andra jämförelserna fungerar som vanligt och du kan använda < och > att jämföra att ett datum är tidigare eller senare än det andra. Till exempel:

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

Provutgång: true

Det fungerar även om operatören inkluderar jämställdhet:

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

Provutgång: true

Beräkning av datumskillnad

För att jämföra skillnaden mellan två datum kan vi göra jämförelsen baserad på tidsstämpeln.

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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow