Cómo determinar si un objeto Date contiene una fecha inválida en JavaScript?
¡Hola a todos! Soy nuevo en JavaScript y me encontré con un problema al trabajar con fechas. Necesito parsear strings que pueden contener tanto fechas correctas (por ejemplo, "2024-10-15") como basura (por ejemplo, "abc" o "32.13.2024"). Estoy usando el constructor `new Date()`, pero se comporta de manera extraña.
Aquí un ejemplo:
```javascript
let date1 = new Date("2024-10-15"); // funciona
let date2 = new Date("abc"); // ¡también crea un objeto!
```
El problema es que `new Date("abc")` no lanza un error, sino que crea un objeto Date con un valor interno `NaN`. Cuando intento mostrarlo con `console.log`, veo `Invalid Date`. Pero, ¿cómo puedo verificar programáticamente que la fecha no es válida? El método `typeof` muestra "object", y `instanceof Date` devuelve `true` incluso para basura.
Intenté comparar con `NaN` — no funciona porque `NaN !== NaN`. Usé `isNaN(date1)` — pero devuelve `false` para una fecha válida y `true` para una inválida, pero esto no funciona de manera estable. ¿Cómo puedo verificar de forma correcta y confiable que la
No answers yet.
Inicia sesión para dejar una respuesta
Blogs