Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

320
Vistas
Por qué el constructor Javascript Date() antepone el año de salida con un signo más si el año es superior a 9999

El constructor Date() proporciona las siguientes salidas de ejemplo (observe las fechas por encima del año 9999)

 console.log(new Date(Date.UTC(2022,0,1))); // output => 2022-01-01T00:00:00.000Z console.log(new Date(Date.UTC(4000,0,1))); // output => 4000-01-01T00:00:00.000Z console.log(new Date(Date.UTC(9999,0,1))); // output => 9999-01-01T00:00:00.000Z console.log(new Date(Date.UTC(10000,0,1))); // output => +010000-01-01T00:00:00.000Z console.log(new Date(Date.UTC(20000,0,1))); // output => +020000-01-01T00:00:00.000Z

Para los años superiores a 9999, la salida es una cadena de números de 6 dígitos con el prefijo "más" .

¿Es esto correcto? Que no:

¿Qué es significativo sobre el año 9999?

¿Por qué se agrega el signo "+" si el año está por encima de 9999 mientras que no se agrega para años inferiores?

Probado con Chrome y Node y da el mismo resultado.

Aquí hay salidas de consola simples:

 console.log(new Date(Date.UTC(2022,0,1))); // output => 2022-01-01T00:00:00.000Z console.log(new Date(Date.UTC(4000,0,1))); // output => 4000-01-01T00:00:00.000Z console.log(new Date(Date.UTC(9999,0,1))); // output => 9999-01-01T00:00:00.000Z console.log(new Date(Date.UTC(10000,0,1))); // output => +010000-01-01T00:00:00.000Z console.log(new Date(Date.UTC(20000,0,1))); // output => +020000-01-01T00:00:00.000Z

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

¿Es esto correcto?

La respuesta corta es sí".

Nada que ver con el constructor Date. Las fechas son solo un desplazamiento en milisegundos de la época de ECMAScript (1970-01-01T00:00:00Z), eso es todo.

Lo que está viendo es el resultado de llamar a Date.prototype.toISOString, que crea una cadena para la fecha representada por el valor de hora de la instancia de fecha según lo especificado porECMA-262 Formato de cadena de fecha y hora .

Para años ampliados de más de 4 dígitos, el año va precedido de "+" o "-", según corresponda.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda