Solo quiero comparar dos fechas, pero me da un resultado incorrecto y no puedo encontrar por qué ... ¿Alguna idea?

> (new Date("2017-11-25"))
Sat Nov 25 2017 01:00:00 GMT+0100 (CET)
> new Date(new Date().toDateString())
Fri Oct 27 2017 00:00:00 GMT+0200 (CEST)
> (new Date("2017-11-25")) < new Date(new Date().toDateString())
false
> (new Date("2017-11-25")).getTime() < (new Date(new Date().toDateString())).getTime();
false

Gracias

-1
ReaperSoon 27 oct. 2017 a las 19:19

3 respuestas

La mejor respuesta

Su resultado es normal, estamos en octubre. Tal vez desee comparar con 2017-10-25 en lugar de 2017-11-25.

2
nand42 27 oct. 2017 a las 16:25

Hmm? ¿Qué resultados incorrectos estás viendo? Javascript está generando el resultado correcto.

Verifique que la primera fecha sea más alta que la segunda fecha.

El canto "<" es una condición que significa "bajar a" ...

1
Mario Junior Torres Perez 27 oct. 2017 a las 16:29

Esto parece estar funcionando bien para mí. ¿Qué resultado esperas?

console.log((new Date("2017-11-25")).getTime() < (new Date()).getTime()); // false
console.log((new Date("2017-10-25")).getTime() < (new Date()).getTime()); // true
1
Nick 27 oct. 2017 a las 16:24