javascript

JavaScript: obtener día de la semana según fecha

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.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

  • en el array de dias el ultimo domingo no esta demas? ese seria el indice 7 del array, pero getDay solo retorma un nuemro entre 0 y 6 cierto?

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

1 semana hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.