JS contiene métodos que permiten mostrar y calcular fechas y magnitudes de tiempo. Para esos cálculos se una un objeto Date() con sus propios constructores y métodos.
Más métodos pueden ser revisados en este link de W3Schools en la referencia JavaScript Date Reference.
Constructor Date()
Devuelve una lista de caracteres que representa la fecha y tiempo al momento invocarla como función. La línea de caracteres muestra los valores de YYYY-MM-DDTHH:mm:ss.sssZ –año, mes, día, 'T' de tiempo en hora, minuto, segundo, milisegundos; y 'Z' para zona de tiempo–.
let darFecha = new Date();
console.log(darFecha);
//-> 2022-12-07T23:42:50.461Z
Método Date.now()
Devuelve una fila numérica representada en milisegundos actualizables –al refrescar el método– desde enero 1 de 1970. En otras palabras, Date.now()
muestra los milisegundos que transcurren en tiempo real desde 1970 hasta el día de hoy.
let ahora = Date.now();
console.log(ahora);
//-> 1670457150348
Método get/set para Date()
Invocando a los métodos get/set se obtiene en tiempo real las magnitudes de día y tiempo al momento de ser invocados. Tomar en cuenta la cantidad de métodos nacidos a partir de instanciar el objeto Date():
// INSTANCIAR OBJETO DATE()
let fecha = new Date();
// MÉTODOS
// Dia
console.log("Número del día de la semana: " + fecha.getDay() );
// fecha del día
console.log( "Fecha del día: " + fecha.getDate() );
//-> 7
// Mes del año
console.log( "Número del mes actual: " + fecha.getMonth() );
//-> 11
// Año
console.log( "Año: " + fecha.getFullYear() );
//-> 2022
// MiliSegundos (de cero al mil)
console.log( "Año: " + fecha.getMilliseconds() );
//-> ...(los que transcurran al invocarselos)
// Milisegundos desde 1970...
console.log( "Año: " + fecha.getTime() );
//-> ...(los que transcurran al invocarselos)
// En billones de milisegundos
/*
Número del día de la semana: 3
Fecha del día: 7
Número del mes actual: 11
Año: 2022
Año: 174
Año: 1670458422174
*/
Método Date.parse()
Transforma fechas ingresadas -en inglés– a milisegundos transcurridos desde enero de 1970.
// Da los milisegundos transcurridos desde enero 1970
// No hay incremento en el tiempo
let fecha = Date.parse("Jan 1, 1970");
console.log(fecha);
// Con otro formato
let fechaA = Date.parse("01/1/1970");
console.log(fechaA);
//-> 18000000
Método toDateString()
Transforma la fecha actual –al momento de la invocación– a un formato simplificado:
let fecha = new Date();
console.log( fecha.toDateString() );
//-> Wed Dec 07 2022
Método toLocaleDateString()
Otro formato es:
let fecha = new Date();
console.log( fecha.toLocaleDateString() );
//-> 12/7/2022
FUNCIÓN PARA DETERMINAR LOS AÑOS TRANSCURRIDOS DESDE 1970
David Flanagan[3] en su libro "JavaScript: The Definitive Guide" da un ejemplo de función para determinar años transcurridos desde un período de tiempo:
function tiempo() {
/* Hallo el valor de –minutos– al multiplicar
los años que contiene un milenio por la cantidad
de minutos que contiene una hora */
var minutes = 1000 * 60;
/* Hallo el valor de –horas– al multiplicar
la cantidad de minutos que tengo por los minutos
que contiene una hora */
var hours = minutes * 60;
/* Hallo el valor de –dias– al multiplicar la cantidad
de horas por las horas que contiene el dia */
var days = hours * 24;
/* Hallo el valor de –años– al multiplicar la
cantidad de dias por los dias que contiene un año */
var years = days * 365;
// Captar fecha actual: creamos un objeto Date
var d = new Date();
// Resulta en: año-mes-diaTiempo:00:00.
/* Se guarda en variable 't': captar fecha enero 1970
desde la variable 'd' que almancena el objeto Date(),
se accede al objeto getTime(); */
var t= d.getTime();
/* Guardar en 'y': Dividir la diferencia para
años --en variable arriba-- y redondear a un
entero sin decimales. Round = dejar un
entero sin decimal */
var y = Math.round(t / years);
return y;
}
console.log(tiempo());
// 53
FUNCIÓN PARA NOMBRAR EL NÚMERO DEL MES
// FUNCION PARA DETERMINAR NUMERO DEL MES
// Da fecha de hoy
var hoy = new Date();
// Da numero del mes de hoy
var numeroMes = hoy.getMonth();
function mes(numeroMes){
if(numeroMes == 1){
return hola = "enero";
} else if(numeroMes == 2){
return hola = "febrero";
}
}
console.log(numeroMes + " de " + mes(2));
//-> 11 de febrero
UN EJEMPLO MÁS PARA MOSTRAR FECHA, NOMBRE DEL MES, ETC...
En HTML
<div id="fechaDiaWeb"> </div>
En Javascript
/* Arreglo de nombres */
var nombresDias = ["domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado"];
var nombresMeses = ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"];
/* Guarda objeto fecha */
var fechaHoy = new Date();
/* Guarda ciudad */
var ciudad = "Guayaquil, ";
/* Guarda y dice: desde el arreglo 'nombresDias'
accedo al objeto Date() y de allí al objeto
que me da el número del día */
var nombreDia = nombresDias[fechaHoy.getDay()];
// fechaHoy.getDay() me da el número del día
/* Guarda y dice: desde el arreglo 'nombreMes'
accedo al objeto Date() y de allí al objeto
que me da el número del mes */
var nombreMes = nombresMeses[fechaHoy.getMonth()];
// fechaHoy.getMonth() me da el número del mes
/* Guarda y dice: desde el objeto Date()
accedo al año actual */
var year = fechaHoy.getFullYear();
// fechaHoy.getFullYear() me da el año
/* String: Invoco variables.
- fechaHoy.getDate() da el número del día */
var mostrarLineaFecha = ciudad + nombreDia + " guayaco | " + nombreMes + " " + fechaHoy.getDate() + " del " + year;
/* Función: se carga cada vez que se abre el navegador */
window.onload = function() {
mostrarFechita();
function mostrarFechita() {
/* Se inserta todaa la línea de las fechas en el elemento HTML */
document.getElementById("fechaDiaWeb").innerHTML = mostrarLineaFecha;
}
}
Subir al inicio Avanzar