Saltar al contenido

Formatos de fecha de JavaScript

septiembre 25, 2021

Entrada de fecha de JavaScript

En general, existen 3 tipos de formatos de entrada de fecha de JavaScript:

Escribe Ejemplo
Fecha ISO «2015-03-25» (el estándar internacional)
Cita corta «25/03/2015»
Fecha larga «25 de marzo de 2015» o «25 de marzo de 2015»

El formato ISO sigue un estándar estricto en JavaScript.

Los otros formatos no están tan bien definidos y pueden ser específicos del navegador.


Salida de fecha de JavaScript

Independientemente del formato de entrada, JavaScript (por defecto) generará fechas en formato de cadena de texto completo:


Fechas ISO de JavaScript

ISO 8601 es el estándar internacional para la representación de fechas y horas.

La sintaxis ISO 8601 (AAAA-MM-DD) también es el formato de fecha de JavaScript preferido:

La fecha calculada será relativa a su zona horaria.
Dependiendo de su zona horaria, el resultado anterior variará entre el 24 de marzo y el 25 de marzo.



Fechas ISO (año y mes)

Las fechas ISO se pueden escribir sin especificar el día (AAAA-MM):

Las zonas horarias variarán el resultado anterior entre el 28 de febrero y el 1 de marzo.


Fechas ISO (solo año)

Las fechas ISO se pueden escribir sin mes y día (AAAA):

Las zonas horarias variarán el resultado anterior entre el 31 de diciembre de 2014 y el 1 de enero de 2015.


Fechas ISO (fecha-hora)

Las fechas ISO se pueden escribir con horas, minutos y segundos adicionales (AAAA-MM-DDTHH: MM: SSZ):

La fecha y la hora se separan con una T mayúscula.

La hora UTC se define con una letra Z mayúscula.

Si desea modificar la hora relativa a UTC, elimine la Z y agregue + HH: MM o -HH: MM en su lugar:

UTC (Hora universal coordinada) es lo mismo que GMT (Hora media de Greenwich).

Omitir T o Z en una cadena de fecha y hora puede dar resultados diferentes en diferentes navegadores.


Zonas horarias

Al establecer una fecha, sin especificar la zona horaria, JavaScript utilizará la zona horaria del navegador.

Al obtener una fecha, sin especificar la zona horaria, el resultado se convierte a la zona horaria del navegador.

En otras palabras: si se crea una fecha / hora en GMT (hora media de Greenwich), la fecha / hora se convertirá a CDT (hora de verano central de EE. UU.) Si un usuario navega desde el centro de EE. UU.


Fechas cortas de JavaScript.

Las fechas cortas se escriben con una sintaxis «MM / DD / AAAA» como esta:


¡ADVERTENCIAS!

En algunos navegadores, los meses o días sin ceros a la izquierda pueden producir un error:

const d = nueva fecha («2015-3-25»);

El comportamiento de «AAAA / MM / DD» no está definido.
Algunos navegadores intentarán adivinar el formato. Algunos devolverán NaN.

const d = nueva fecha («2015/03/25»);

El comportamiento de «DD-MM-AAAA» tampoco está definido.
Algunos navegadores intentarán adivinar el formato. Algunos devolverán NaN.

const d = nueva fecha («25-03-2015»);


Fechas largas de JavaScript.

Las fechas largas suelen escribirse con una sintaxis «MMM DD AAAA» como esta:

El mes y el día pueden estar en cualquier orden:

Y el mes puede escribirse en su totalidad (enero) o abreviarse (enero):

Las comas se ignoran. Los nombres no distinguen entre mayúsculas y minúsculas:


Entrada de fecha: análisis de fechas

Si tiene una cadena de fecha válida, puede usar la
Date.parse()
método para convertirlo a milisegundos.

Date.parse() devuelve el número de milisegundos entre la fecha y el 1 de enero de 1970:

Ejemplo

let msec = Date.parse («21 de marzo de 2012»);
document.getElementById («demostración»). innerHTML = msec;

Inténtalo tú mismo »

A continuación, puede utilizar el número de milisegundos para convertirlo en una fecha objeto:

Ejemplo

let msec = Date.parse («21 de marzo de 2012»);
const d = nueva fecha (mseg);
document.getElementById («demostración»). innerHTML = d;

Inténtalo tú mismo »

close