Aller au contenu principal

Calculateur de différence de dates — outil gratuit

Calculez la différence exacte entre deux dates — années, mois, jours, semaines, jours ouvrés (hors week-ends), heures et minutes.

Fonctionne hors ligne une fois chargé

Préréglages rapides

Sélectionnez les deux dates pour voir la différence.

Utilisations courantes

  • Calculez les jours jusqu'à la date prévueDécompte jusqu'à la date d'accouchement prévue du bébé. Découvrez exactement combien de semaines, de jours et d'heures jusqu'au grand jour.
  • Jours jusqu'à vos vacancesDécompte jusqu'à votre voyage avec jours ouvrables, jours totaux et semaines restantes à titre de planification.
  • Jours ouvrables jusqu'à la date limite du projetCalculez le nombre exact de jours ouvrables (en excluant les fins de semaine) entre aujourd'hui et une date limite du projet.
  • Calculez les jours d'anniversaire ensembleDécouvrez exactement combien de jours, de mois et d'années vous avez passés ensemble avec quelqu'un de spécial.
  • Calculatrice de différence d'âge entre deux personnesCalculez la différence d'âge exacte entre deux anniversaires, années, mois et jours de différence.

Comment ça marche

Tout le calcul s'exécute entièrement dans le navigateur avec de l'arithmétique UTC écrite à la main — sans bibliothèque externe, sans requête serveur. L'outil analyse les chaînes AAAA-MM-JJ en composantes calendaires, calcule les différences avec des horodatages en millisecondes Date.UTC() pour éviter la dérive due à l'heure d'été, et itère jour par jour pour compter les jours ouvrés du lundi au vendredi.

  1. 1
    Analyse sûre des dates
    Chaque chaîne de date est validée avec une expression régulière puis reconstruite via Date.UTC() — et non new Date(chaîne) — afin que les utilisateurs à l'ouest de l'UTC ne voient jamais un décalage de jour de la semaine causé par l'interprétation en fuseau horaire local du navigateur des saisies de date seule.
  2. 2
    Soustraction de millisecondes UTC
    Les deux dates calendaires sont converties en horodatages minuit UTC avec Date.UTC(a, m, j). La division entière par 86 400 000 ms donne un nombre exact de jours entiers, immunisé contre les transitions d'heure d'été, qui peuvent sinon faire apparaître un jour de 23 ou 25 heures.
  3. 3
    Décomposition calendaire et comptage des jours ouvrés
    Une décomposition année/mois/jour écrite à la main gère les irrégularités de longueur des mois (en empruntant des jours au mois précédent si nécessaire). Une boucle séparée parcourt chaque jour UTC entre les deux dates et incrémente un compteur seulement pour le lundi-vendredi (getUTCDay() !== 0 ou 6), produisant un total exact de jours ouvrés quel que soit le paramètre régional.
  4. 4
    Résultats affichés dans toutes les unités
    Les totaux sont formatés avec toLocaleString() en utilisant le paramètre régional de la page pour un regroupement des chiffres adapté à la langue, puis affichés simultanément en années/mois/jours, jours totaux, jours ouvrés, semaines, heures et minutes. La paire de dates actuelle est écrite dans l'URL via history.replaceState afin que tout résultat puisse être mis en favori ou partagé comme lien direct.

Outils associés

Questions fréquemment posées