Introdução
Neste laboratório, exploraremos um programa JavaScript que conta o número de dias úteis entre duas datas fornecidas. O programa utiliza um array e o método reduce para iterar sobre o intervalo de datas fornecido, verificando se cada data é um dia útil e incrementando a contagem de acordo. No entanto, deve-se notar que este programa não leva em consideração feriados oficiais.
Contar Dias Úteis Entre Duas Datas
Para contar os dias úteis entre duas datas, siga estes passos:
- Abra o Terminal/SSH e digite
nodepara começar a praticar a codificação. - Use
Array.from()para criar um array com um comprimento igual ao número de dias entrestartDateeendDate. - Use
Array.prototype.reduce()para iterar sobre o array, verificando se cada data é um dia útil e incrementandocount. - Atualize
startDatecom o dia seguinte em cada loop usandoDate.prototype.getDate()eDate.prototype.setDate()para avançá-lo em um dia. - Observe que esta função não leva em consideração feriados oficiais.
Aqui está o código para implementar isso:
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
);
Você pode usar o seguinte código para testar a função:
countWeekDaysBetween(new Date("Oct 05, 2020"), new Date("Oct 06, 2020")); // 1
countWeekDaysBetween(new Date("Oct 05, 2020"), new Date("Oct 14, 2020")); // 7
Resumo
Parabéns! Você concluiu o laboratório Contar Dias Úteis Entre Duas Datas. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.