JavaScript ofrece diferentes m todos para comparar dos fechas, pero no todas son confiables o proporcionan resultados precisos. La comparaci n correcta de fechas es muy importante al desarrollar aplicaciones web, especialmente si desea determinar qu fecha viene despu s o antes de otra.
Una de las formas m s confiables de comparar fechas en JavaScript es usar el m todo Date.prototype.getTime(). Este m todo devuelve el n mero de milisegundos transcurridos desde el 1 de enero de 1970, 00:00:00 GMT hasta la fecha especificada. La comparaci n de dos fechas se reduce a comparar sus valores de tiempo. Si la hora de una fecha es menor que la hora de otra, entonces la primera fecha va a la segunda, y viceversa.
El siguiente ejemplo ilustra la comparaci n correcta de dos fechas en JavaScript:
} else {
- console.log ('date1 y date2 son iguales');
- }
- Con este m todo, puede comparar f cilmente las fechas en JavaScript con alta precisi n y obtener resultados confiables. Sin embargo, al realizar comparaciones, es importante tener en cuenta las zonas horarias y convertir las fechas en una zona horaria para evitar resultados err neos.
Por qu comparar fechas en JavaScript?
Formas de comparar fechas en JavaScript
M todo 1: Comparaci n con operadores
- M todo 2: Usando el m todo getTime()
- Ejemplos de comparaci n de fechas en JavaScript
- Ejemplo 1: Comparar la fecha actual con una fecha determinada
Ejemplo 2: Comparaci n de dos fechas dadas
- Pregunta-respuesta
- C mo comparar dos fechas en JavaScript?
Qu m todos de objeto Date se utilizan para comparar fechas?
Es posible comparar fechas en JavaScript usando declaraciones de comparaci n?
Por qu comparar fechas en JavaScript?
- console.log ('Primera fecha antes que la segunda');
}
- Date.prototype.getFullYear()
const date1 = new Date('2021-01-01');
const date2 = nueva fecha('2022-01-01');
const a o1 = fecha1.getFullYear (A o completo) ();
const a o2 = fecha2.getFullYear (A o completo) ();
} else {
consola.registro (' ');
}
Elija una forma adecuada de comparar fechas seg n sus necesidades. Cada uno tiene sus propias caracter sticas y puede ser til en ciertas situaciones.
M todo 1: Comparaci n con operadores
Obtener el valor del a o:
Despu s de obtener los valores num ricos de las fechas, se pueden comparar utilizando operadores de comparaci n como ">", "<", "===" et al.
var date2 = new Date(2020, 0, 2);
if (date1 < date2) {
console.log ("date1 es menor que date2");
} else if (date1 > date2) {
console.log ("date1 m s date2");
} else {
console.log ("date1 es igual a date2");
}
Este ejemplo mostrar el mensaje "date1 es menor que date2" porque el 1 de enero de 2020 es menor que el 2 de enero de 2020.
M todo 2: Usando el m todo getTime()
La segunda forma de comparar dos fechas en JavaScript es usar el m todo getTime(). Este m todo devuelve el n mero de milisegundos transcurridos desde el 1 de enero de 1970 hasta la fecha especificada.
La ventaja de este enfoque es que despu s de obtener el n mero de milisegundos, simplemente puede comparar sus valores num ricos. Esto hace que sea m s f cil y preciso determinar Cu l de las dos fechas es anterior o posterior.
Para comparar dos fechas utilizando el m todo getTime(), siga estos pasos::
Crear dos objetos Date con las fechas necesarias:
const date1 = new Date("2021-01-01");
const date2 = new Date("2021-12-31");
Obtenga el n mero de milisegundos para cada fecha llamando al m todo getTime ():
const time1 = date1.getTime();
const time2 = date2.getTime();
Compare los valores de las variables time1 y time2 utilizando los operadores de comparaci n (,=,===,!==):
if (time1 < time2) {
console.log ("date1 antes que date2");
console.log ("date1 m s tarde que date2");
} else {
console.log ("date1 es igual a date2");
}
getTime() :
const date1 = new Date("2021-01-01");
const date2 = new Date("2021-12-31");
const time1 = date1.getTime();
const time2 = date2.getTime();
if (time1 < time2) {
console.log("date1 , date2");
} else if (time1 > time2) {
console.log("date1 , date2");
} else {
console.log("date1 date2");
}
- console.log('date1 date2');
console.log('date1 date2');
} else {
console.log('date1 date2');
}
//
if (date1 < date2) {
console.log('date1 date2');
} else if (date1 > date2) {