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