Días que tiene un mes en Javascript

Introducción

Hoy veremos cómo obtener el número de días que tiene un mes de cualquier año. Por ejemplo, el mes de Abril del 2018 tiene 30 días, pero bien sabemos que esto cambia dependiendo del mes y también del año (si es o no bisiesto).

Así que investigando me encontré con una función sencillísima de implementar.

Dicho con otras palabras, estimaremos o calcularemos el número o cantidad de días que tiene determinado mes del año actual o de un año cualquiera.

La función que escribiremos devolverá el número entero de días que hay en un mes.

Obtener días que tiene un mes

Aquí la función:

Recibe dos parámetros: el año y el mes, como números. Enero quiere decir 1, Febrero 2, etcétera. El año debe ser algo como 2015, 2016, etcétera.

Nota: esta función, y sólo esta función, cuenta los meses desde el 1 (enero es 1, diciembre 12) pero normalmente, Javascript cuenta los meses desde 0 (enero es 0, diciembre 11). Lo digo para evitar confusiones.

Algunos ejemplos de llamada…

Número de días que tiene un mes según su número y año

Número de días que tiene un mes según su número y año

Todo correcto. Pero podemos mejorar nuestra función

Obtener días del mes por nombre

Mejoremos la función para que reciba el nombre del mes y en base a ello devuelva sus días, así evitamos confusiones calculando el número. Queda así:

Lo único que hacemos es primeramente convertir el nombre a mayúsculas, buscar su índice y sumarle 1. Dado que los meses están ordenados, sólo tenemos que sumar 1.

Por ejemplo, enero tiene el índice 0, pero al sumarle 1 se convierte en 1. Igual diciembre, tiene el 11 pero le sumamos 1 para que se convierta en 12.

Al llamar a la función pasa esto…

Número de días que tiene un mes según su nombre y año

Número de días que tiene un mes según su nombre y año

Obtener días del mes y año actual

Finalmente veamos cómo obtener los días del mes actual. Sólo tenemos que modificar un poco la función original.

Lo que hacemos ahora es crear un nuevo objeto con la fecha actual, obtener el mes y año. Es importante notar que al mes le sumamos uno porque, como ya expliqué arriba, esta función cuenta los meses desde el 1 pero Javascript desde 0.

Si la ejecuto al momento de escribir esto…

Días que tiene el mes actual

Días que tiene el mes actual

Conclusión

Qué fácil e inteligente es este método, aunque yo no soy el autor, yo simplemente trato de explicarlo y facilitar su uso. El autor es quien respondió a esta pregunta de StackOverflow.

Días que tiene un mes en Javascript

Por parzibyte Tiempo de lectura: 2 min
0