Qué significa Invalid Date y cómo solucionarlo
Referencia del error
Invalid Date
Lenguaje
Severidad
MediaCuándo ocurre
Se crea silenciosamente un objeto Invalid Date cuando new Date() recibe una cadena que no puede parsear.
Posibles soluciones
Siempre usa el formato ISO 8601 (YYYY-MM-DD o YYYY-MM-DDTHH:mm:ssZ) para las fechas. Valida con isNaN(date.getTime()) después de la construcción. Considera usar una librería como date-fns o Temporal (etapa 3) para un parseo de fechas robusto.
Errores relacionados
Más detalles
Se crea silenciosamente un objeto Invalid Date cuando new Date() recibe una cadena que no puede parsear. Las operaciones sobre él devuelven NaN o lanzan un RangeError. El constructor Date de JavaScript es permisivo con lo que acepta, pero los formatos aceptados varían entre navegadores.
Por qué ocurre
- •Pasar una cadena de fecha en formato DD/MM/YYYY, que no se parsea de forma confiable.
- •Pasar una cadena vacía o null a new Date().
- •Usar un formato específico de localización que el navegador no reconoce.
- •Recibir una fecha de entrada de usuario o API que está malformada.
Posibles soluciones
Siempre usa el formato ISO 8601 (YYYY-MM-DD o YYYY-MM-DDTHH:mm:ssZ) para las fechas. Valida con isNaN(date.getTime()) después de la construcción. Considera usar una librería como date-fns o Temporal (etapa 3) para un parseo de fechas robusto.
Ejemplos
Código que causa el error
const d = new Date("31/12/2024"); // wrong format
console.log(d.toISOString());Error en la terminal
RangeError: Invalid time value
Código corregido
// Use ISO 8601 format: YYYY-MM-DD
const d = new Date("2024-12-31");
console.log(d.toISOString()); // "2024-12-31T00:00:00.000Z"
// Always validate first
function parseDate(str) {
const d = new Date(str);
return isNaN(d.getTime()) ? null : d;
}Practica en inglés
¿Cómo le explicarías un Invalid Date a un compañero dev? Elige la frase correcta:
"I hit an error...
¿Listo para practicar tu inglés en el trabajo?
Lingua-e tiene ejercicios interactivos basados en conversaciones reales de developers: standups, code reviews, retrospectivas y más. Practica hasta que salga solo.
Prueba Lingua-e gratis