En este artículo sobre programación en JavaScript te mostraré cómo obtener el día de la semana según una fecha. Es decir, saber cuál día de la semana fue, y adicionalmente obtener su nombre.

Por ejemplo, hoy es lunes, así que el número del día de la semana es 1 (pues en JavaScript el domingo es 0) y el día es, aunque sea repetitivo, lunes.

Veamos algunas funciones para obtener esos resultados.

getDay para día de la semana

A partir de una fecha podemos crear un objeto de tipo Date y después simplemente invocar al método getDay. Esta función va a devolver un 0 para domingo, 1 para lunes y así hasta que sea 6 para sábado.

Veamos un ejemplo:

const fechaComoCadena = "2020-03-09 23:37:22"; // día lunes
const numeroDia = new Date(fechaComoCadena).getDay();
console.log("Número de día de la semana: ", numeroDia); 

Al ejecutar el código el resultado es 1. Con eso podemos saber que es lunes. Puedes probar el ejemplo aquí.

Nombre del día de la semana en JavaScript

Trabajando con arreglos y usando getDay como índice podemos devolver el nombre del día a partir de una fecha. Así:

const fechaComoCadena = "2020-03-09 23:37:22"; // día lunes
const dias = [
  'domingo',
  'lunes',
  'martes',
  'miércoles',
  'jueves',
  'viernes',
  'sábado',
];
const numeroDia = new Date(fechaComoCadena).getDay();
const nombreDia = dias[numeroDia];
console.log("Nombre de día de la semana: ", nombreDia);

Al ejecutar el código se imprime “lunes”. Puedes probarlo aquí.

Encerrando en una función

Podemos encerrar el comportamiento de todo esto en una función que reciba la fecha y devuelva el nombre del día. Vamos a reducir un poco el código y a ahorrarnos algunas líneas, es decir, lo vamos a simplificar para que quede así:

const nombreDelDiaSegunFecha = fecha => {
  return [
    'domingo',
    'lunes',
    'martes',
    'miércoles',
    'jueves',
    'viernes',
    'sábado',
  ][new Date(fecha).getDay()];
}

Incluso podría quedar más corta:

const nombreDelDiaSegunFecha = fecha => [
    'domingo',
    'lunes',
    'martes',
    'miércoles',
    'jueves',
    'viernes',
    'sábado',
    'domingo',
  ][new Date(fecha).getDay()];

Más ejemplos

Por ahora mostramos con una fecha específica. Pero veamos otras fechas:

const nombreDelDiaSegunFecha = fecha => [
    'domingo',
    'lunes',
    'martes',
    'miércoles',
    'jueves',
    'viernes',
    'sábado',
  ][new Date(fecha).getDay()];

const fechasParaProbar = [
  "2013-01-18 17:00:00",
  "2013-08-03 10:00:00",
  "1997-06-21 22:00:00",
];

fechasParaProbar.forEach(fecha => {
  console.log(`En ${fecha} fue ${nombreDelDiaSegunFecha(fecha)}`);
});

La salida es correcta:

Nombre del día de la semana según fecha en JavaScript

Puedes probar el código en este enlace.

De este modo podemos indicar cuál día fue o saber el número de día. Puedes personalizar el algoritmo a tu gusto, yo solo te mostré un ejemplo.

Te invito a ver más sobre JavaScript en mi blog.

Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto