Formatos Javascript de Fechas

Entrada de fecha de JavaScript

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

Tipo Ejemplo
ISO Date “2015-03-25” (The International Standard)
Short Date “03/25/2015”
Long Date “Mar 25 2015” or “25 Mar 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:

Wed Mar 25 2015 01:00:00 GMT+0100 (hora estándar de Europa central)

Fechas Javascript ISO

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.

Ejm

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript ISO Dates</h2>

<p id="demo"></p>

<script>
var d = new Date("2015-03-25");
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

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).

Ejm

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript ISO Dates</h2>

<p id="demo"></p>

<script>
var d = new Date("2015-03"); 
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

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):

Ejm

var d = new Date("2015");

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).

Ejm

var d = new Date("2015-03-25T12:00:00Z");
  • La fecha y la hora se separan con una T mayúscula.
  • La hora UTC se define con una letra Z mayúscula.

Si deseas modificar la hora relativa a UTC, elimina la Z y agrega + HH: MM o -HH: MM en su lugar.

Ejm

var d = new Date("2015-03-25T12:00:00-06:30");

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 JavaScript

Las fechas breves se escriben con una sintaxis “MM / DD / AAAA” como esta.

Ejm

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>

<p id="demo"></p>

<script>
var d = new Date("03/25/2015");
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Fechas largas Javascript

Las fechas largas suelen escribirse con una sintaxis “MMM DD AAAA” como esta.

Ejm

var d = new Date("Mar 25 2015");

Entrada de fecha: análisis de fechas

Si tienes una cadena de fecha válida, puedes usar el método Date.parse() para convertirla en milisegundos.

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

Ejm

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Date.parse()</h2>

<p>Date.parse() returns the number of milliseconds between the date and January 1, 1970:</p>

<p id="demo"></p>

<script>
var msec = Date.parse("March 21, 2012");
document.getElementById("demo").innerHTML = msec;
</script>

</body>
</html>

Luego puedes usar el número de milisegundos para convertirlo en un objeto de fecha.

Ejm

<!DOCTYPE html>
<html>
<body>

<p>Date.parse(string) returns milliseconds.</p>
<p>You can use the return value to convert the string to a date object:</p>

<p id="demo"></p>

<script>
var msec = Date.parse("March 21, 2012");
var d = new Date(msec);
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>