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 Avanzar



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