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