Calculateur de Jours Ouvrables
Calcule les jours ouvrables dans une plage de dates
Calcul de Jours Ouvrables
Qu'est-ce qu'un Calculateur de Jours Ouvrables ?
Un calculateur de jours ouvrés compte le nombre de jours réellement utilisables dans une période après retrait des week-ends et d’un nombre de jours fériés indiqué. Il sert à estimer une livraison, vérifier des congés, préparer une paie, organiser une facturation, suivre un recrutement ou planifier un projet lorsque le nombre de jours calendaires est trop approximatif. Un jour ouvré n’est pas toujours un jour du calendrier : week-end samedi-dimanche ou vendredi-samedi, jours fériés régionaux, fermeture d’entreprise et jours travaillés de compensation peuvent modifier le résultat. L’outil fournit une estimation rapide selon vos paramètres. Pour les RH, le juridique ou les contrats, vérifiez avec le calendrier officiel.
Comment utiliser
Comment utiliser
- Saisissez la date de début et la date de fin
- Sélectionnez l'option d'exclusion du week-end (Sam-Dim / Ven-Sam / Aucun)
- Saisissez le nombre de jours fériés (facultatif)
- Cliquez sur « Calculer les jours ouvrés » pour afficher les résultats
Hypothèses du calendrier
- Définissez les règles de week-end avant de calculer ; les calendriers vendredi-samedi, samedi-dimanche et sans week-end produisent des totaux différents.
- Les jours fériés et les jours de fermeture de l'entreprise doivent être saisis séparément s'ils doivent être exclus.
Cas d’utilisation
Principe technique
Le comptage des jours ouvrables correspond au nombre de jours calendaires dans la plage inclusive `[début, fin]` qui ne sont ni des jours de week-end ni des jours fériés. La formule standard à borne inclusive est `total_days = (end - start) / 86_400_000 + 1` lorsque les deux bornes sont normalisées à minuit UTC, puis les jours de week-end et fériés sont soustraits. Le jour de la semaine provient de `Date.prototype.getDay()` qui renvoie `0` pour dimanche jusqu'à `6` pour samedi — attention au piège que `getDay()` n'est pas `getDate()` et que le résultat est dans le fuseau horaire local du navigateur, donc une chaîne de date UTC traversant minuit peut atterrir sur un jour de semaine différent de celui attendu. Le modèle de week-end varie selon la région : la valeur par défaut mondiale est samedi-dimanche (Occident, Inde, majeure partie de l'Asie), mais le Moyen-Orient utilisait historiquement jeudi-vendredi et depuis 2024 la plupart des pays du Golfe (EAU, Bahreïn, Koweït, Qatar) se sont alignés sur vendredi-samedi ou même samedi-dimanche avec un demi-vendredi. L'Iran, l'Afghanistan et certaines parties de l'Asie du Sud observent encore uniquement le vendredi ; Israël observe vendredi-samedi. L'outil expose Sam-Dim, Ven-Sam et « aucun » comme les trois préréglages courants, et laisse le comptage de jours fériés couvrir tout le reste par soustraction. L'algorithme de comptage lui-même a deux implémentations pratiques. L'itération naïve parcourt un jour à la fois : `for (let d = start; d <= end; d.setDate(d.getDate()+1)) if (![0,6].includes(d.getDay())) count++`. C'est O(n) en jours calendaires et trivial à lire. L'alternative en forme fermée calcule `full_weeks * 5 + partial_week_workdays` et s'exécute en O(1), ce qui est important pour les plages couvrant plusieurs années. Les jours fériés tombant un week-end ne doivent pas être soustraits deux fois, donc le modèle canonique est de filtrer l'ensemble des fériés avec `holidays.filter(h => !isWeekend(h)).length`. La politique chinoise de 调休 (jours travaillés de compensation) ajoute une complexité que la logique pure basée sur le week-end ne peut pas représenter : le Conseil d'État publie chaque année une liste convertissant certains samedis ou dimaines en jours ouvrables pour compenser les congés prolongés du Nouvel An ou de la Fête nationale, donc pour les calendriers chinois la liste des fériés doit être associée à une liste explicite de « jours travaillés de compensation » plutôt que de se fier uniquement à la règle du jour de la semaine.
- Formule de plage inclusive : `total_days = (end - start) / 86_400_000 + 1` avec les deux dates normalisées à minuit UTC pour éviter la dérive d'heure d'été.
- `Date.prototype.getDay()` renvoie 0 (dim) à 6 (sam) dans le fuseau horaire local du navigateur — pas UTC, donc le code sensible au fuseau doit utiliser `getUTCDay()`.
- Préréglages de week-end : Sam-Dim (Occident, Inde, majeure partie de l'Asie), Ven-Sam (la plupart des états du Golfe depuis 2006-2013), Ven uniquement (Iran), aucun (opérations 24h/24).
- Forme fermée O(1) : `full_weeks * 5 + extra_workdays_in_partial_week` ; préférée à l'itération jour par jour pour les plages pluriannuelles.
- Les jours fériés tombant un week-end ne doivent pas être comptés deux fois : soustraire `holidays.filter(h => !isWeekend(h)).length`, pas le nombre brut de jours fériés.
- Conseil d'État chinois 调休 : certains samedis/dimaines deviennent des jours ouvrables légaux pour compenser les congés prolongés ; nécessite une liste explicite de jours de compensation.
- Les jours fériés fédéraux US (selon 5 U.S.C. § 6103) représentent 11 jours ouvrables par an : Nouvel An, MLK, Presidents, Memorial, Juneteenth, Independence, Labor, Columbus, Veterans, Thanksgiving, Christmas.
Exemples
Jours ouvrés de l'année calendaire 2026
Date de début : 2026-01-01
Date de fin : 2026-12-31
Week-end : Samedi & Dimanche
Fériés : 13 (jours fériés légaux en Chine après ajustement 调休)
Jours au total : 365
Jours de week-end : 104
Jours fériés : 13
Jours ouvrés : 248Capacité d'un sprint de deux semaines
Date de début : 2026-06-15 (lundi)
Date de fin : 2026-06-26 (vendredi)
Week-end : Samedi & Dimanche
Fériés : 0
Jours au total : 12
Jours de week-end : 2
Jours ouvrés : 10 (sprint complet de deux semaines, 4 développeurs => 40 jours-personnes)Équipe au Moyen-Orient avec week-end vendredi-samedi
Date de début : 2026-09-01
Date de fin : 2026-09-30
Week-end : Vendredi & Samedi
Fériés : 1 (jour férié régional)
Jours au total : 30
Jours de week-end : 8 (Ven + Sam en septembre)
Jours ouvrés : 21Période d'intégration après un jour férié
Date de début : 2026-10-08 (premier jour ouvré après la Golden Week)
Date de fin : 2026-10-30
Week-end : Samedi & Dimanche
Fériés : 0
Jours au total : 23
Jours de week-end : 6
Jours ouvrés : 17 (suffisant pour un plan d'intégration de 3 semaines)Planification du T1 2027 avec les fériés fédéraux US
Date de début : 2027-01-01
Date de fin : 2027-03-31
Week-end : Samedi & Dimanche
Fériés : 4 (Nouvel An, MLK Day, Presidents Day, Good Friday)
Jours au total : 90
Jours de week-end : 26
Jours ouvrés : 60FAQ
Comment les jours ouvrés sont-ils comptés ?
Du lundi au vendredi par défaut ; le samedi et le dimanche sont ignorés. Les jours fériés que vous indiquez dans la liste sont également exclus. La page affiche le total des jours calendaires, des week-ends, des jours fériés et le nombre de jours ouvrés résultant.
Les jours fériés officiels sont-ils appliqués automatiquement ?
Non. Le calculateur ne charge pas les jours fériés automatiquement. Vous devez saisir leur nombre manuellement. Consultez le calendrier officiel de votre pays pour des chiffres précis.
Gère-t-il les jours travaillés de rattrapage (调休) ?
Non. Le calculateur n'exclut que les week-ends et le nombre de jours fériés que vous saisissez. Il ne gère pas automatiquement les 调休 (jours travaillés décalés) chinois ni les politiques similaires. Ajustez la règle du week-end ou le nombre de jours fériés manuellement si votre planning comporte des jours de rattrapage.
Puis-je n'exclure que les week-ends sans les jours fériés ?
Oui. Désactivez la liste des jours fériés et le calcul n'exclut que le samedi et le dimanche. Vous pouvez aussi personnaliser le jour considéré comme week-end : certains plannings au Moyen-Orient ont un week-end vendredi-samedi.
Quelle est la différence avec l'outil Différence de dates ?
Différence de dates renvoie des jours calendaires. Cet outil renvoie des jours ouvrés en sautant les week-ends et les jours fériés. Utilisez celui-ci pour les échéances de projet, les dates contractuelles et les fenêtres SLA ; utilisez Différence de dates pour le temps brut écoulé.
Fonctionne-t-il pour les dates passées ?
Oui. Il calcule les jours ouvrés entre deux dates quelconques, passées ou futures. Saisissez la date de début et de fin, sélectionnez les règles du week-end et indiquez le nombre de jours fériés : la page calcule alors le total des jours ouvrés sur cette plage.
Mes données sont-elles téléversées ?
Non. Le calcul s'exécute dans votre navigateur. Les nombres de jours fériés et les dates ne sont ni enregistrés ni transmis.