Mostrar partes de la fecha en palabras en JavaScript
Ya sabes cómo mostrar el día de la semana en forma de
número usando el método getDay. Sin embargo,
a menudo no necesitamos el número del día de la semana, sino
su nombre en texto. Escribamos un código
que convierta los números devueltos por
el método getDay en los
nombre de los días de la semana correspondientes.
Para empezar, escribamos un código que muestre el número del día de la semana actual:
let date = new Date();
let day = date.getDay();
console.log(day);
Y ahora modifiquemos este código para que
se muestre no el número del día de la semana, sino su
nombre (para abreviar, el domingo será
'dom', el lunes 'lun' y así sucesivamente).
Para resolver el problema, crearemos un array de días de la semana
days y lo comenzaremos con el domingo (ya
que este es el día cero):
let days = ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'];
¿Cómo usar este array para mostrar en pantalla,
por ejemplo, 'mar'? Necesitas pasar entre
corchetes el número de este día (el martes
tiene el número 2):
let days = ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'];
console.log(days[2]); // mostrará 'mar'
Sin embargo, no queremos pasar el día de la semana
manualmente, sino que queremos que JavaScript determine
automáticamente el día actual y muestre su nombre. Para ello
necesitamos combinar lo que devuelve el método
getDay y nuestro array days:
let date = new Date();
let day = date.getDay();
let days = ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'];
console.log(days[day]);
Supongamos que tenemos el siguiente array:
let months = [
'ene', 'feb', 'mar', 'abr', 'may', 'jun',
'jul', 'ago', 'sep', 'oct', 'nov', 'dic'
];
Muestra usando este array el nombre del mes actual.