Buscar..
Comparación de valores de fecha
Para comprobar la igualdad de los valores de Date
:
var date1 = new Date();
var date2 = new Date(date1.valueOf() + 10);
console.log(date1.valueOf() === date2.valueOf());
Salida de muestra:
false
Tenga en cuenta que debe usar valueOf()
o getTime()
para comparar los valores de los objetos de Date
porque el operador de igualdad comparará si dos referencias de objeto son iguales. Por ejemplo:
var date1 = new Date();
var date2 = new Date();
console.log(date1 === date2);
Salida de muestra:
false
Considerando que si las variables apuntan al mismo objeto:
var date1 = new Date();
var date2 = date1;
console.log(date1 === date2);
Salida de muestra:
true
Sin embargo, los otros operadores de comparación funcionarán como de costumbre y puede usar <
y >
para comparar que una fecha es anterior o posterior a la otra. Por ejemplo:
var date1 = new Date();
var date2 = new Date(date1.valueOf() + 10);
console.log(date1 < date2);
Salida de muestra:
true
Funciona incluso si el operador incluye la igualdad:
var date1 = new Date();
var date2 = new Date(date1.valueOf());
console.log(date1 <= date2);
Salida de muestra:
true
Cálculo de la diferencia de fecha
Para comparar la diferencia de dos fechas, podemos hacer la comparación basada en la marca de tiempo.
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);