« Combien de jours y a-t-il entre le 10 et le 12 mars ? » La réponse peut être deux, trois ou un — et les trois peuvent être justes. La soustraction est simple ; il faut surtout décider si la date de départ, la date de fin, les deux ou aucune font partie du décompte.
Ce guide propose une méthode reproductible et couvre aussi les années bissextiles, les fins de mois, les jours ouvrés, les délais, les fuseaux horaires et les changements d’heure. Le but est d’obtenir non pas un nombre quelconque, mais celui qui correspond à la vraie question.
La réponse courte
Pour deux dates sans heure, calculez d’abord la différence ordinaire : différence = date de fin − date de début. Appliquez ensuite la règle des bornes :
- Temps écoulé ou début exclu : conservez la différence.
- Décompte inclusif : ajoutez 1 si le premier et le dernier jour comptent.
- Jours francs ou intérieurs : retranchez 1 si aucune borne ne compte, sans descendre sous zéro.
Du 2026-03-10 au 2026-03-12, la différence ordinaire est de 2 jours. En comptant les deux dates, on obtient 3 ; en ne comptant que les dates strictement intermédiaires, 1.
Quatre façons valables de compter le même intervalle
| Règle | Dates comptées | Résultat | Usage fréquent |
|---|---|---|---|
| Fin moins début | 10→11, 11→12 | 2 jours | Durée d’un intervalle ; nuitées |
| Deux dates incluses | 10, 11, 12 | 3 dates | Présence, voyage, campagne |
| Deux dates exclues | Le 11 seulement | 1 jour franc | Certaines règles de procédure |
Semi-ouvert [début, fin) | 10, 11 | 2 dates | Logiciels, réservations, rapports |
Un intervalle semi-ouvert inclut le début et exclut la fin. Il évite les chevauchements : une réservation qui finit le 12 et la suivante qui commence le 12 ne possèdent pas toutes deux cette borne. Les intervalles adjacents s’additionnent aussi sans correction.
Le mot « inclusif » reste ambigu si l’on ne précise pas la borne. Écrivez plutôt « inclure les deux dates », « exclure la date de départ » ou « compter uniquement les jours complets entre les deux ».
Différence de dates et temps écoulé sont deux questions
Une date est une étiquette du calendrier, pas forcément un bloc de 24 heures. Dans Europe/Madrid, du minuit local du 28 mars au minuit du 30 mars 2026, il y a deux jours civils mais seulement 47 heures écoulées, car les horloges avancent. Du 24 au 26 octobre, il y a deux jours civils et 49 heures lorsque les horloges reculent.
Pour compter les dates du calendrier, utilisez des dates sans heure. Pour mesurer le temps écoulé, comparez des instants précis en heures, minutes ou secondes. Diviser une différence d’horodatages par 86 400 peut donner un mauvais nombre de jours autour d’un changement d’heure.
Les modèles modernes séparent ces concepts. La documentation de Temporal PlainDate distingue la date civile de l’instant exact ; le RFC 5545 explique pourquoi les durées en jours et semaines nécessitent un contexte calendaire lors des changements d’heure.
Une méthode fiable pour les dates seules
- Normalisez l’entrée. Confirmez le calendrier et utilisez un format non ambigu comme
AAAA-MM-JJ. - Gardez une date comme date. N’inventez ni minuit ni fuseau horaire.
- Associez un numéro de jour. Une bibliothèque parlera d’ordinal ou de jour depuis une époque.
- Soustrayez. Le numéro ultérieur moins l’antérieur donne une différence signée.
- Appliquez la règle des bornes. Ajoutez ou retirez les extrémités après la différence de base.
Le signe préserve le sens : du 10 au 12 donne +2, du 12 au 10 −2. N’utilisez la valeur absolue que si le sens n’a réellement aucune importance. Notre calculateur de différence entre dates affiche années, mois, semaines et jours sans transformer les dates en horodatages.
Les années bissextiles relèvent du calendrier
| Début | Fin | Différence ordinaire | Deux dates incluses |
|---|---|---|---|
| 2024-02-28 | 2024-03-01 | 2 jours | 3 dates |
| 2025-02-28 | 2025-03-01 | 1 jour | 2 dates |
| 2026-01-01 | 2027-01-01 | 365 jours | 366 dates |
Dans le calendrier grégorien, une année divisible par 4 est bissextile, sauf une année séculaire qui ne serait pas aussi divisible par 400. Une bonne bibliothèque applique déjà cette règle ; supposer 365 jours par an est moins fiable.
Les mois et les années n’ont pas une durée fixe en jours
« Un mois après le 31 janvier » exige une politique : faut-il limiter au 28 ou 29 février, déborder en mars ou refuser la date ? Un an après le 29 février pose la même question dans une année non bissextile.
- 30 jours écoulés est une durée fixe.
- Un mois civil conserve une relation de calendrier et nécessite une règle de fin de mois.
- La même date le mois suivant peut ne pas exister et requiert une solution explicite.
Lorsqu’un contrat ou un produit dit « mensuel », il doit préciser le traitement de la fin de mois. Un mois civil ne doit pas être remplacé discrètement par 30 jours.
Les jours ouvrés exigent un calendrier de travail
Un jour de semaine n’est pas automatiquement ouvré. Il faut définir les jours normalement travaillés, le pays ou la région, les jours fériés et leurs reports, le traitement du premier jour et ce qui se passe si le résultat tombe un jour non travaillé.
Pour un décompte courant du lundi au vendredi, utilisez notre calculateur de jours ouvrés. Pour une paie, une livraison contractuelle, un dépôt judiciaire ou un délai réglementé, appliquez le calendrier et les règles du cas réel.
Les règles de délai peuvent remplacer le comptage ordinaire
Les délais juridiques montrent pourquoi aucun réglage inclusif n’est universel. Dans les règles générales de l’UE, le jour de l’événement déclencheur est normalement exclu ; les week-ends et jours fériés sont inclus sauf période exprimée en jours ouvrables, et l’échéance peut être reportée si le dernier jour est férié ou un week-end. Voir le règlement (CEE, Euratom) nº 1182/71.
La règle 6 des actuelles Federal Rules of Civil Procedure américaines exclut elle aussi généralement le jour déclencheur, compte les week-ends et jours fériés intermédiaires et reporte la fin lorsqu’elle tombe sur l’un d’eux. En Angleterre et au pays de Galles, la règle 2.8 des Civil Procedure Rules définit les « clear days » en excluant le jour initial et celui de l’événement, avec des règles supplémentaires pour les périodes courtes et les greffes fermés.
Notre calculateur de délais aide à explorer une date, mais ne peut pas décider quelle règle juridique s’applique.
Cinq questions avant de compter
- S’agit-il de dates ou d’instants précis ?
- Quelles bornes comptent ? Notez séparément l’inclusion du début et de la fin.
- Quel calendrier et quel fuseau horaire s’appliquent ?
- Les jours non travaillés ont-ils un statut particulier ?
- Que se passe-t-il aux limites ? Testez le même jour, l’ordre inversé, le 29 février, la fin de mois, le Nouvel An et le changement d’heure.
Un petit jeu de tests limites
| Cas | Résultat ordinaire attendu | Erreur détectée |
|---|---|---|
| 2026-03-10 → 2026-03-10 | 0 jour ; 1 si les deux dates comptent | Traitement du même jour |
| 2026-03-12 → 2026-03-10 | −2 jours | Perte du sens |
| 2024-02-28 → 2024-03-01 | 2 jours | Jour bissextile oublié |
| 2025-02-28 → 2025-03-01 | 1 jour | Règle bissextile appliquée chaque année |
| Madrid, 2026-03-28 → 2026-03-30 | 2 jours civils ; 47 heures | Jours confondus avec des blocs de 24 h |
| 2026-01-31 + 1 mois civil | Dépend de la politique annoncée | Mois traité comme 30 jours |
En logiciel, un test doit nommer la convention. « Jours entre deux dates » n’est pas une spécification ; « exclure le début et inclure la fin dans Europe/Madrid » s’en approche. La documentation officielle de datetime en Python distingue notamment la soustraction de dates de l’arithmétique des date-heures et de leurs règles de fuseau.
Quel calculateur choisir ?
- Le calculateur de différence entre dates pour la distance calendaire.
- Le calculateur de jours ouvrés pour retirer les week-ends ordinaires.
- Le calculateur de délais pour ajouter ou retrancher un nombre de jours.
- Le calendrier pour vérifier les jours de semaine et fins de mois.
L’essentiel
Il n’existe pas de réponse unique avant d’avoir défini les bornes et le type de temps. Partez de la différence calendaire, puis précisez les extrémités, le signe, le calendrier, le fuseau et les éventuelles règles ouvrées ou juridiques. Une phrase de plus dans la spécification évite la majorité des décalages d’un jour.