Midiendo el tiempo
El objeto Date es un constructor, por lo que es puede usarse para instanciar objetos tipo fecha, con acceso a sus métodos heredados.
Los métodos estáticos permiten acciones a partir del propio constructor, sin usar un objeto instanciado.
- Date.now(): lee los milisegundo desde la fecha original hasta hoyl
- Date.UTC( str ): lee los milisegundo desde la fecha original (UTC) hasta la pasad en el argumento
- Date.parse(str): los millisegundos hasta la fecha del argumento
Estos métodos permiten medir tiempos, que luego pueden usarse para crear instancias del objeto o para realizar cálculos. Son métodos más enfocados a cálculos que a determinar la fecha o la hora del día.
Para todos ellos existe un origen de tiempos, fecha origen o fecha de referencia desde la que se mide el transcurso del tiempo, es el día 1/1/1970 a las 00:00.
El método Date.now() devuelve el número de milisegundos que han trasncurrido desde la fecha origen, de referencia, hasta el momento actual.
Date.UTC() acepta argumentos: año, mes, dia, hora, minuto, segundo, milisegundos. Devuelve el número de milisegundos desde la fecha de referencia hasta la que se le pasa en el argumento. Considera las fechas y horas referidas a la zona horaria UTC.
El tercer método Date.parse(str) admite como argumento una cadena para indicar el año, mes, dia y hora, minuto, segundo y milisegundo. La analiza y la convierte en el número de milisegundos transcurridos desde la fecha de referencia.
var ahora = Date.now();
var gmt = Date.UTC(2021,05,16);
var desdestr = Date.parse("2021-05-16")
console.log("Ahora now() "+ahora);
console.log("UTC : "+gmt);
console.log("Parse: "+desdestr);
Los dos últimos valores no coinciden por la diferencia entre la hora local y la UTYC (salvo que estes ejecutando ese script en un huso donde la hora local coincida con la universal, UTC+0).
Todos estos son métodos estáticos y no crean objetos fecha.