duduromeroa.com

#Javascript, #DOMJs, #webinteractiva, #Interfaces, #duduromeroa, #Guayaquil

Javascript

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


Javascript, métodos de fechado -date methods-

Por Eduardo J. Romero Andrade
| Guayaquil

Contacto duduromeroa@gmail.com



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



BIBLIOGRAFÍA:
    [1] Eloquent JavaScript 3ra edición. 2018. Marijn Haverbeke. No starch press.
    [2] MDN Web Docs, Javascript. Mozilla Foundation.
    [3] JavaScript: The Definitive Guide. David Flanagan (2020). Editorial O'Reilly.
    [4] Object-Oriented JavaScript Ved Antani, Stoyan Stefanov (2017). Packt Publishing.
    [5] Laurence Lars Svekis, Maaike van Putten. JavaScript from Beginner to Professional: Learn JavaScript quickly by building fun, interactive, and dynamic web apps, games, and pages (2021). Editorial Packt.
    [6] Black, A. P. (2013) Object-oriented programming: Some history, and challenges for the next fifty years. Information and Computation. Elsevier.
    [7] John R. Pugh, Wilf R. LaLonde, David A. Thomas (1987) Introducing object-oriented programming into the computer science curriculum. ACM SIGCSE BulletinVolume 19Issue