Cómo comparar dos fechas iguales en JavaScript

El objeto Date en JavaScript es bastante robusto para trabajar con fechas, te permite comparar si una fecha es mayor o menor que otra, pero al intentar comparar si es igual falla.

Veamos un ejemplo.

const dateA = new Date("6/01/2023")
const dateB = new Date("6/01/2022")

console.log(dateA > dateB) // true
console.log(dateA < dateB) // false
console.log(dateA === dateB) // false - aunque parezca correcto, no lo es.

Ves este código y piensas que está bien, pero resulta que la comparación de si las fechas son iguales está mal. Veamos otro ejemplo:

const dateA = new Date("6/01/2022")
const dateB = new Date("6/01/2022")

console.log(dateA === dateB) // false - aunque sean iguales

Las dos fechas son iguales, pero los objetos son diferentes y eso es lo que se está comparando, no las fechas sino los objetos.

Veamos un ejemplo de cómo comparar:

const dateA = new Date("6/01/2022").getTime()
const dateB = new Date("6/01/2022").getTime()

console.log(dateA === dateB) // true - ¡¡¡funciona!!!!

El método getTime()

El método getTime() de JavaScript devuelve el número de milisegundos de la fecha desde la medianoche del 1 de enero de 1970, es decir, desde la "fecha" del "epoch".

const dateA = new Date("6/01/2022").getTime() // 1654063200000
const dateB = new Date("6/01/2022").getTime() // 1654063200000

console.log(dateA === dateB) // 1654063200000 === 1654063200000

Ent

Copyright © 2024. Design and code by myself with Next.js. Fork it and create yours