¿Qué día es hoy? Con JavaScript

Hay muchas formas de conocer el día en el que estamos usando javascript.

La forma común sería creando una sentencia que recorra todos los días como «strings» y nos muestre el día en el que estamos.

var date = new Date().getDay();
let day;
if(date == 0){day = 'Domingo'}
else if(date == 1){day = 'Lunes'}
else if(date == 2){day = 'Martes'}
else if(date == 3){day = 'Miércoles'}
else if(date == 4){day = 'jueves'}
else if(date == 5){day = 'Viernes'}
else if(date == 6){day = 'Sabado'}

getDay(); es una función de javascript que nos devuelve el número del día ordenado en la semana, empezando con el número 0 que corresponde al Domingo, hasta el día 6 que será el Sábado. Como ves es un paquete de código.

Recorremos el if para que nos identifique el día en el que estamos, según el número que nos devuelve getDay(). Esto lo podríamos construir con un switch() también.

let day;
switch(new Date().getDay())
{
 case 0:
  day: "Domingo";
  break;
 case 1:
  day: "Lunes";
  break;
 case 2:
  day: "Martes";
  break;
 case 3:
  day: "Miércoles";
  break;
 case 4:
  day: "Jueves";
  break;
 case 5:
  day: "Viernes";
  break;
 case 6:
  day: "Sábado";
  break;
}
console.log("Hoy es: "+day);

Este código es lo mismo que el anterior, sólo que utilizando el método switch(). Pero también es otro pedazo de código.

Son algo largo, sí y mucho.

Hay muchas más maneras, creando una variable con un array que contenga todos los días, etc. La cuestión es que siempre estaremos escribiendo los días de la semana, y se complica si tienes la aplicación en diferentes idiomas.

Para mejorar todo esto, vamos a descomponerlo y a usar las herramientas que nos da JavaScript.

new Date(); nos genera el día y la hora que recoge de nuestro navegador. Su resultado sería algo así:

Sun Aug 22 2021 11:17:52 GMT+0100 (hora de verano de Europa occidental)

También existe este método toLocaleString(), que utiliza dos parámetros: el idioma y las opciones de salida.

Lo que podemos hacer es usar el valor «default» para que seleccione el idioma por defecto, y en las opciones le indicamos que nos devuelva el número del día en el que estamos. Quedando algo así:

toLocaleString('default', {weekday: 'long', })

Pasando como opciones un array ‘weekday’ día de la semana y su valor ‘long’ que será un número. Lo que hacemos aquí es darle formato a la fecha, que nos devolverá ‘new Date()’.

Creamos la constante o variable date y le decimos que será new Date();

Luego otra constante ‘day’ y le decimos que nos devuelva ‘date’ pasándole el método ‘toLocalString()’.

Y con todo esto, al final en dos lineas de código sabremos qué día es hoy.

const date = new Date(); 
const day = date.toLocaleString('default', {weekday: 'long', });
console.log(day); // día en el que estamos como un string

Y así podemos ir resumiendo mucha cantidad de código en nuestras aplicaciones, limpiado el código y ganando en velocidad también.

Podrás utilizar este script en cualquier parte de tu código llamando a al variable ‘day’ siempre que quieras.

Espero que les ayude. 😈