duduromeroa.com

Javascript

Programación para web (4.4/8): métodos de fechado –date methods–





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


Subir al inicio Seguir a la parte quinta



BIBLIOGRAFÍA:
    3ra edición. 2018. Marijn Haverbeke. No starch press.
    [2] MDN Web Docs, Javascript. Mozilla Foundation.
    David Flanagan (2020). Editorial O'Reilly.
    Ved Antani, Stoyan Stefanov (2017). Packt Publishing.
    Editorial Packt.
    Information and Computation. Elsevier.
    ACM SIGCSE BulletinVolume 19Issue 1Feb. 1987 pp 98–102https://doi.org/10.1145/31726.31742.