Zoeken…
Datumwaarden vergelijken
Om de gelijkheid van Date
te controleren:
var date1 = new Date();
var date2 = new Date(date1.valueOf() + 10);
console.log(date1.valueOf() === date2.valueOf());
Voorbeelduitvoer:
false
Merk op dat u getTime()
valueOf()
of getTime()
moet gebruiken om de waarden van Date
objecten te vergelijken, omdat de operator Equality vergelijkt of twee objectverwijzingen hetzelfde zijn. Bijvoorbeeld:
var date1 = new Date();
var date2 = new Date();
console.log(date1 === date2);
Voorbeelduitvoer:
false
Terwijl als de variabelen naar hetzelfde object wijzen:
var date1 = new Date();
var date2 = date1;
console.log(date1 === date2);
Voorbeelduitvoer:
true
De andere vergelijkingsoperatoren werken echter zoals gewoonlijk en u kunt <
en >
om te vergelijken dat de ene datum eerder of later is dan de andere. Bijvoorbeeld:
var date1 = new Date();
var date2 = new Date(date1.valueOf() + 10);
console.log(date1 < date2);
Voorbeelduitvoer:
true
Het werkt zelfs als de operator gelijkheid omvat:
var date1 = new Date();
var date2 = new Date(date1.valueOf());
console.log(date1 <= date2);
Voorbeelduitvoer:
true
Datumverschilberekening
Om het verschil tussen twee datums te vergelijken, kunnen we de vergelijking maken op basis van de tijdstempel.
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);