Introduction
Dans ce laboratoire, nous allons explorer une fonction JavaScript qui aide à calculer la date après avoir ajouté un nombre donné de jours ouvrables. La fonction utilise la manipulation d'objets Array et l'itération sur des objets Date pour incrémenter la date de départ tout en tenant compte des week-ends. Ce laboratoire vous aidera à comprendre comment manipuler les dates en JavaScript et à appliquer une logique métier aux calculs de dates.
Fonction pour ajouter des jours ouvrables à une date donnée
Pour calculer une date future en ajoutant un nombre donné de jours ouvrables, vous pouvez utiliser la fonction addWeekDays. Voici les étapes :
- Ouvrez le Terminal/SSH et tapez
nodepour commencer à pratiquer la programmation. - Utilisez la fonction
addWeekDaysqui prend deux arguments :startDateetcount. startDateest la date à partir de laquelle vous voulez commencer à ajouter des jours ouvrables.countest le nombre de jours ouvrables que vous voulez ajouter à la date de départ.- La fonction construit un tableau en utilisant la méthode
Array.from()et définit la longueur égale aucountde jours ouvrables à ajouter. - La méthode
Array.prototype.reduce()est utilisée pour itérer sur le tableau, en commençant parstartDate, et l'incrémenter en utilisantDate.prototype.getDate()etDate.prototype.setDate(). - La fonction vérifie si la
dateactuelle est un week-end ou non. - Si la
dateactuelle est un week-end, la fonction la met à jour en ajoutant un jour ou deux jours pour la rendre un jour ouvrable. - La fonction ne prend pas en compte les jours fériés officiels.
const addWeekDays = (startDate, count) =>
Array.from({ length: count }).reduce((date) => {
date = new Date(date.setDate(date.getDate() + 1));
if (date.getDay() % 6 === 0)
date = new Date(date.setDate(date.getDate() + (date.getDay() / 6 + 1)));
return date;
}, startDate);
Voici quelques exemples de manière dont vous pouvez utiliser la fonction addWeekDays :
addWeekDays(new Date("Oct 09, 2020"), 5); // 'Oct 16, 2020'
addWeekDays(new Date("Oct 12, 2020"), 5); // 'Oct 19, 2020'
Sommaire
Félicitations ! Vous avez terminé le laboratoire Ajouter des jours ouvrables à une date. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.