Objetos Javascript Date

Ejm

var d = new Date();

Output Date Javascript

De forma predeterminada, JavaScript utilizará la zona horaria del navegador y mostrará una fecha como una cadena de texto completo.

Mar 22 de septiembre de 2020 08:44:10 GMT + 0200 (hora de verano de Europa central).

Creando objetos Date

Los objetos Date (de fecha) son creados con el constructor new Date(). Existen 4 maneras de crear objetos.

  • new Date()
  • new Date(year, month, day, hours, minutes, seconds, milliseconds)
  • new Date(milliseconds)
  • new Date(date string)

new Date()

new Date() crea una nueva fecha con la fecha y la hora actual.

Ejm

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
</head>
<body>
<h2>Objeto Date()</h2>
<p>Usando Date() creamos un nuevo objeto de fecha y la hora actuales</p>
<p id="demo"></p>

<script>
var d = new Date();
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>

Los objetos de fecha son estáticos. El tiempo de la computadora avanza, pero los objetos de fecha no.

new Date(year, month, …)

new Date(año, mes, …) crea un nuevo objeto de fecha con una fecha y hora específicas.

7 números especifican año, mes, día, hora, minuto, segundo y milisegundo (en ese orden).

Ejm

<!DOCTYPE html>
<html>
<body>

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

<p>Using new Date(7 numbers), creates a new date object with the specified date and time:</p>

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

<script>
var d = new Date(2018, 11, 24, 10, 33, 30, 0);
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Nota: JavaScript cuenta los meses de 0 a 11. Enero es 0. Diciembre es 11.

6 números especifican año, mes, día, hora, minuto, segundo.

Ejm

var d = new Date(20181124103330);

5 números especifican año, mes, día, hora y minuto.

Ejm

var d = new Date(201811241033);

4 números especifican año, mes, día y hora.

Ejm

var d = new Date(2018112410);

3 números especifican año, mes y día.

Ejm

var d = new Date(20181124);

2 números especifican año y mes.

Ejm

var d = new Date(201811);

No puede omitir el mes. Si proporciona solo un parámetro, se tratará como milisegundos.

Ejm

var d = new Date(2018);

Siglo anterior

Los años de uno y dos dígitos se interpretarán como 19xx:

Ejm

var d = new Date(991124);

Otro ejm

var d = new Date(91124);

new Date(dateString)

new Date(dateString) crea un nuevo objeto de fecha a partir de una cadena de fecha:

Ejm

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
</head>
<body>
<h2>Javascript New Date()</h2>
<p>Se puede crear un objeto Date con una fecha y hora específicas</p>
<p id="demo"></p>

<script>
var d = new Date("13 Octubre, 2020 11:13:00");
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>

JavaScript almacena las fechas en milisegundos

JavaScript almacena las fechas en milisegundos desde el 1 de enero de 1970 a las 00:00:00 UTC (hora universal coordinada).

La hora cero es el 1 de enero de 1970 a las 00:00:00 UTC.

new Date(milliseconds)

new Date(milisegundos) crea un nuevo objeto de fecha como tiempo cero más milisegundos.

Ejm

<!DOCTYPE html>
<html>
<body>

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

<p>Using new Date(milliseconds), creates a new date object as January 1, 1970, 00:00:00 Universal Time (UTC) plus the milliseconds:</p>

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

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

</body>
</html>

Un día (24 horas) son 86 400 000 milisegundos.

Métodos de fecha

Cuando se crea un objeto Date, varios métodos le permiten operar en él.

Los métodos de fecha le permiten obtener y establecer el año, mes, día, hora, minuto, segundo y milisegundo de los objetos de fecha, utilizando la hora local o la hora UTC (universal o GMT).

Mostrando fechas

JavaScript generará (de forma predeterminada) fechas en formato de cadena de texto completo:

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

Cuando muestra un objeto de fecha en HTML, se convierte automáticamente en una cadena, con el método toString().

Ejm

d = new Date();
document.getElementById("demo").innerHTML = d;

es lo mismo que

d = new Date();
document.getElementById("demo").innerHTML = d.toString();

El método toUTCString() convierte una fecha en una cadena UTC (un estándar de visualización de fechas).

Ejm

var d = new Date();
document.getElementById("demo").innerHTML = d.toUTCString();

El método toDateString() convierte una fecha a un formato más legible:

Ejm

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript toDateString()</h2>

<p>The toDateString() method converts a date to a date string:</p>

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

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

</body>
</html>

El método toISOString() convierte una fecha en una cadena, utilizando el formato estándar ISO:

Ejm

var d = new Date();
document.getElementById("demo").innerHTML = d.toISOString();