Maneras de generar objetos de tiempo en JavaScript
JavaScript por defecto utiliza la zona horaria del navegador y muestra una fecha como un string.
Para crear objetos de tiempo se utiliza el constructor new Date(), sin embargo este tiene 4 maneras de hacerlo:
-Para generar la fecha y el tiempo actual.
const actual = new Date();
-En caso de que se quiera generar una fecha y tiempo en especifico.
const d = new Date(2022, 07, 18, 18, 24, 10, 40);
Cabe aclarar que el orden que se tiene que poner los valores es el siguiente: año, mes, dia, hora, minuto, segundos y milisegundos. Ademas de que si se intenta especificar un valor mayor al limite hara un overflow para al proximo valor.
Por ejemplo si se pone en mes un 13 el valor y el año es 2003, pasara un overflow y el año pasara a ser 2004. Igualmente si se intenta hacer los mismo con los otros valores pasaria lo mismo.
-El new Date(dateString) crea un nuevo objeto de tiempo desde un date string.
const tiempoString = new Date("Junio, 2019 09:33:29");
-Por ultimo el new Date(miliseconds) crea un objeto tiempo como tiempo cero mas milisegundos. Es decir JavaScript almacena las fechas en milisegundos desde 1 de enero de 1970 00:00:00 UTC(esto significa hora universal coordinada), desde esa fecha se suman los milisegundos puestos.
const milisegundos = new Date(1000000000000);
Diferentes formatos que se utilizan a la hora de utilizar alguna función de fecha
Tipo | Descripción | Ejemplo |
Fecha ISO | La sintaxis de este formato es (YYYY-MM-DD). En caso de agregar tiempo es (YYYY-MM-DDTHH:MM:SSZ) | const ISO = new Date("2019-11-23"); const ISO = new Date("2019-11-23T21:00:10"); |
Fecha corta | Se escriben de esta manera: "MM/DD/YYYY" | const corto = new Date("10/18/2020") |
Fecha larga | La sintaxis es "MMM DD YYYY". Los meses y dias pueden cambiar de orden y los meses tambien pueden ser escritos con el nombre completo | const largo = new Date("Jul 18 2040"); const largo = new Date("17 enero 2010"); |