ToolDeck

Calculateur de dates

Calculez la différence entre deux dates en années, mois, jours et plus

Qu'est-ce que le calcul de dates ?

Le calcul de dates est le processus qui consiste à trouver la différence entre deux dates du calendrier ou à ajouter/soustraire une durée à une date donnée. Un calculateur de dates en ligne vous permet de déterminer le nombre exact de jours, semaines, mois et années entre deux dates quelconques, sans comptage manuel. Il s'applique à la planification de projets, au droit des contrats, à la comptabilité financière et au développement logiciel.

La complexité du calcul de dates vient de la structure irrégulière du calendrier grégorien. Les mois comportent 28, 29, 30 ou 31 jours. Les années ont 365 ou 366 jours selon les règles des années bissextiles. Une soustraction naïve des numéros de jours produit des résultats erronés lorsque les dates couvrent différents mois ou années. Les algorithmes de différence de dates doivent tenir compte de ces irrégularités en parcourant chaque unité calendaire séparément.

L'arithmétique des dates apparaît dans de nombreux contextes de programmation : calcul de l'expiration d'un token, planification d'événements récurrents, calcul des délais de SLA ou mesure du temps écoulé entre des entrées de logs. Dans les workflows DevOps, cela se manifeste comme des fenêtres de validité de certificats, des durées de gel de déploiement et des durées de rotation d'astreinte. Bien que la plupart des langages fournissent des bibliothèques de dates, un calculateur en ligne donne des réponses instantanées pour des vérifications rapides sans écrire de code, installer des dépendances ou ouvrir un REPL.

Pourquoi utiliser ce calculateur de dates ?

Obtenez instantanément la décomposition du temps entre deux dates, avec les résultats en plusieurs unités simultanément. Aucune formule, aucun code, aucune inscription.

Résultats instantanés
Choisissez deux dates et voyez la différence en années, mois, semaines, jours, heures et minutes. Les résultats se mettent à jour dès que vous modifiez l'une ou l'autre date.
🔒
Respect de la confidentialité
Tous les calculs s'exécutent dans votre navigateur. Aucune date n'est envoyée à un serveur, et rien n'est stocké ni journalisé.
📅
Plusieurs unités de sortie
Voyez le résultat dans toutes les unités simultanément : total de jours, semaines, mois et une décomposition complète en années-mois-jours. Pas besoin de convertir vous-même entre les unités.
🔢
Aucun compte requis
Utilisez l'outil immédiatement. Pas de connexion, pas d'abonnement, pas de limite d'utilisation. Enregistrez-le en favori et utilisez-le chaque fois que vous avez besoin d'une vérification rapide.

Cas d'utilisation du calculateur de dates

Développement frontend
Vérifiez combien de jours jusqu'à la date de lancement d'une fonctionnalité, validez la logique d'un minuteur de décompte, ou testez les composants de sélection de dates par rapport aux intervalles attendus.
Ingénierie backend
Validez les fenêtres d'expiration de tokens, calculez les durées de TTL de cache, ou vérifiez que les intervalles de tâches planifiées produisent les bonnes dates de prochaine exécution.
DevOps & SRE
Mesurez l'écart entre les horodatages d'incidents dans les post-mortems, calculez les délais d'expiration de certificats, ou déterminez les durées de gel de déploiement pendant les périodes de congés.
QA & Tests
Générez des données de test avec des décalages de dates spécifiques, vérifiez la logique de contrôle d'âge en calculant les âges exacts à partir des dates de naissance, ou confirmez que les conditions limites de dates sont correctement gérées.
Gestion de projet
Calculez les durées de sprint, mesurez le nombre de jours ouvrables entre les jalons, ou estimez les délais de livraison en comptant les jours calendaires à partir d'une date de début.
Étudiants & Apprentissage
Comptez les jours jusqu'à un examen, calculez la durée d'un semestre, ou vérifiez les réponses aux exercices d'arithmétique de dates dans les cours d'informatique.

Référence des unités de durée de date

Les calculs de différence de dates impliquent des unités de longueur variable. Les mois et les années ne sont pas des durées fixes, c'est pourquoi une simple division du total de jours peut produire des résultats inexacts. Le tableau ci-dessous liste chaque unité et sa plage :

UnitéÉquivalentRemarque
1 year365 or 366 daysDepends on leap year
1 month28–31 daysVaries by month
1 week7 daysFixed
1 day24 hoursFixed (ignoring DST transitions)
1 hour3,600 secondsFixed
1 minute60 secondsFixed

Formats de date courants

Lorsqu'on travaille avec des dates par programmation, le format détermine comment une chaîne de date est analysée. Utiliser le mauvais format provoque des bogues silencieux. ISO 8601 est le choix le plus sûr pour l'échange de données car il est non ambigu et prend en compte les fuseaux horaires. Le tableau ci-dessous liste les formats les plus susceptibles d'être rencontrés :

FormatExempleUtilisé dans
ISO 86012026-04-10T14:30:00ZAPIs, databases, logs
RFC 2822Fri, 10 Apr 2026 14:30:00 +0000Email headers, HTTP
Unix timestamp1775831400Epoch-based systems
US format04/10/2026User-facing (US locale)
European format10.04.2026User-facing (EU locale)
Short ISO2026-04-10HTML date inputs, SQL DATE

Exemples de code : calculer les jours entre deux dates

Exemples concrets pour calculer la différence entre deux dates en JavaScript, Python, Go et en ligne de commande. Chaque extrait montre le calcul du total de jours et la décomposition en unités calendaires lorsque le langage le supporte.

JavaScript
// Calculate days between two dates
const start = new Date('2026-01-15')
const end = new Date('2026-04-10')
const diffMs = end.getTime() - start.getTime()
const diffDays = Math.floor(diffMs / (1000 * 60 * 60 * 24))
console.log(diffDays) // → 85

// Get year, month, day breakdown
function dateDiff(a, b) {
  let years = b.getFullYear() - a.getFullYear()
  let months = b.getMonth() - a.getMonth()
  let days = b.getDate() - a.getDate()
  if (days < 0) {
    months--
    days += new Date(b.getFullYear(), b.getMonth(), 0).getDate()
  }
  if (months < 0) { years--; months += 12 }
  return { years, months, days }
}
console.log(dateDiff(start, end)) // → { years: 0, months: 2, days: 26 }
Python
from datetime import date, timedelta
from dateutil.relativedelta import relativedelta

start = date(2026, 1, 15)
end = date(2026, 4, 10)

# Total days
diff = (end - start).days
print(diff)  # → 85

# Year/month/day breakdown (requires python-dateutil)
rd = relativedelta(end, start)
print(f"{rd.years}y {rd.months}m {rd.days}d")  # → 0y 2m 26d

# Add 90 days to a date
future = start + timedelta(days=90)
print(future)  # → 2026-04-15
Go
package main

import (
	"fmt"
	"time"
)

func main() {
	start := time.Date(2026, 1, 15, 0, 0, 0, 0, time.UTC)
	end := time.Date(2026, 4, 10, 0, 0, 0, 0, time.UTC)

	// Total duration
	diff := end.Sub(start)
	days := int(diff.Hours() / 24)
	fmt.Println(days) // → 85

	// Add 90 days
	future := start.AddDate(0, 0, 90)
	fmt.Println(future.Format("2006-01-02")) // → 2026-04-15
}
CLI (GNU date / macOS)
# Days between two dates (GNU coreutils)
echo $(( ($(date -d "2026-04-10" +%s) - $(date -d "2026-01-15" +%s)) / 86400 ))
# → 85

# Add 90 days to a date (GNU date)
date -d "2026-01-15 + 90 days" +%Y-%m-%d
# → 2026-04-15

# macOS (BSD date) — add 90 days
date -j -v+90d -f "%Y-%m-%d" "2026-01-15" +%Y-%m-%d
# → 2026-04-15

Foire aux questions

Comment calculer le nombre de jours entre deux dates ?
Soustrayez la date antérieure de la date postérieure pour obtenir la différence en millisecondes (ou le type de durée natif de votre langage), puis divisez par le nombre de millisecondes dans un jour (86 400 000). Cela donne le total de jours écoulés. Pour une décomposition calendaire en années, mois et jours restants, vous devez parcourir chaque unité individuellement car les mois ont des longueurs variables.
La différence de dates inclut-elle la date de début ou la date de fin ?
Par convention, la différence de dates compte les jours entre les deux dates, en excluant soit le début soit la fin. Si vous choisissez le 1er janvier et le 2 janvier, le résultat est 1 jour. Si votre cas d'utilisation nécessite un comptage inclusif (les deux bornes incluses), ajoutez 1 au résultat. Cet outil suit la convention de fin exclusive utilisée par la plupart des langages de programmation.
Comment les années bissextiles sont-elles gérées dans les calculs de dates ?
Une année bissextile ajoute le 29 février, portant l'année à 366 jours au lieu de 365. La règle des années bissextiles grégorienne est : divisible par 4, sauf les centenaires, qui doivent aussi être divisibles par 400. Ainsi, 2024 et 2028 sont des années bissextiles, 1900 ne l'était pas, et 2000 l'était. Les algorithmes de différence de dates qui travaillent avec des unités calendaires (année/mois/jour) gèrent cela automatiquement. Les algorithmes qui convertissent en total de jours doivent tenir compte du jour supplémentaire lorsque la plage couvre un 29 février.
Quelle est la différence entre jours calendaires et jours ouvrables ?
Les jours calendaires comptent chaque jour, y compris les week-ends et jours fériés. Les jours ouvrables excluent les samedis, dimanches et jours fériés. Cet outil calcule les jours calendaires. Pour convertir en jours ouvrables approximatifs, multipliez le total de jours calendaires par 5/7. Pour des décomptes exacts de jours ouvrables, vous avez également besoin d'un calendrier des jours fériés pour la juridiction concernée.
Puis-je calculer une date future en ajoutant des jours à une date de début ?
Oui. En JavaScript, créez un objet Date et appelez setDate(getDate() + n). En Python, ajoutez un timedelta(days=n) à un objet date. En Go, utilisez time.AddDate(0, 0, n). Cet outil se concentre sur la différence entre deux dates connues, mais vous pouvez l'utiliser pour vérifier votre arithmétique : entrez la date de début et la date résultante attendue, et confirmez que la sortie en total de jours correspond au décalage ajouté.
Pourquoi différents outils donnent-ils des résultats différents pour les mois entre des dates ?
Le calcul des mois est ambigu car les mois ont des longueurs différentes. Prenez le 31 janvier au 28 février : est-ce 1 mois ou 0 mois et 28 jours ? Différentes bibliothèques font des choix différents. La convention la plus courante (utilisée par dateutil de Python, Period de Java, et cet outil) compte un mois complet comme atteignant le même jour du mois ou le dernier jour valide du mois le plus court. Vérifiez toujours quelle convention utilise votre bibliothèque lorsque vous comparez des résultats.
Le calcul de dates est-il affecté par les fuseaux horaires ?
Lorsque vous sélectionnez des dates sans composante horaire (uniquement année-mois-jour), le calcul est indépendant du fuseau horaire car il opère sur des dates calendaires, pas sur des instants précis. Si vous devez calculer la différence entre deux moments précis (incluant l'heure et le fuseau horaire), travaillez avec des horodatages ISO 8601 complets et convertissez les deux en UTC avant de soustraire. Cet outil opère uniquement sur des dates calendaires.