Introducción
En este laboratorio, exploraremos un programa de JavaScript que cuenta el número de días hábiles entre dos fechas dadas. El programa utiliza una matriz y el método reduce para iterar sobre el rango de fechas dado, comprobando si cada fecha es un día hábil e incrementando el recuento en consecuencia. Sin embargo, debe tenerse en cuenta que este programa no tiene en cuenta los días festivos oficiales.
Contar días hábiles entre dos fechas
Para contar los días hábiles entre dos fechas, siga estos pasos:
- Abra la Terminal/SSH y escriba
nodepara comenzar a practicar la codificación. - Utilice
Array.from()para crear una matriz con una longitud igual al número de días entrestartDateyendDate. - Utilice
Array.prototype.reduce()para iterar sobre la matriz, comprobando si cada fecha es un día hábil e incrementandocount. - Actualice
startDatecon el día siguiente en cada bucle utilizandoDate.prototype.getDate()yDate.prototype.setDate()para avanzarla un día. - Tenga en cuenta que esta función no tiene en cuenta los días festivos oficiales.
Aquí está el código para implementar esto:
const countWeekDaysBetween = (startDate, endDate) =>
Array.from({ length: (endDate - startDate) / (1000 * 3600 * 24) }).reduce(
(count) => {
if (startDate.getDay() % 6 !== 0) count++;
startDate = new Date(startDate.setDate(startDate.getDate() + 1));
return count;
},
0
);
Puede utilizar el siguiente código para probar la función:
countWeekDaysBetween(new Date("Oct 05, 2020"), new Date("Oct 06, 2020")); // 1
countWeekDaysBetween(new Date("Oct 05, 2020"), new Date("Oct 14, 2020")); // 7
Resumen
¡Felicitaciones! Has completado el laboratorio Contar días hábiles entre dos fechas. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.