Szukaj…
Porównywanie wartości dat
Aby sprawdzić równość wartości Date
:
var date1 = new Date();
var date2 = new Date(date1.valueOf() + 10);
console.log(date1.valueOf() === date2.valueOf());
Przykładowe dane wyjściowe:
false
Zauważ, że musisz użyć valueOf()
lub getTime()
do porównania wartości obiektów Date
ponieważ operator równości porówna, jeśli dwa odwołania do obiektów są takie same. Na przykład:
var date1 = new Date();
var date2 = new Date();
console.log(date1 === date2);
Przykładowe dane wyjściowe:
false
Natomiast jeśli zmienne wskazują na ten sam obiekt:
var date1 = new Date();
var date2 = date1;
console.log(date1 === date2);
Przykładowe dane wyjściowe:
true
Jednak inne operatory porównania będą działać jak zwykle i możesz użyć <
i >
do porównania, że jedna data jest wcześniejsza lub późniejsza niż druga. Na przykład:
var date1 = new Date();
var date2 = new Date(date1.valueOf() + 10);
console.log(date1 < date2);
Przykładowe dane wyjściowe:
true
Działa, nawet jeśli operator obejmuje równość:
var date1 = new Date();
var date2 = new Date(date1.valueOf());
console.log(date1 <= date2);
Przykładowe dane wyjściowe:
true
Obliczanie różnicy dat
Aby porównać różnicę dwóch dat, możemy dokonać porównania na podstawie znacznika czasu.
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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow