Skip to main content

Millisecondes vers date

Convertissez des millisecondes en date lisible. Saisissez l'horodatage en millisecondes (par ex. 1704067200000).

Ajouter exactement 24 heures en millisecondes vous amène à 13h00, pas à 12h00

Un jour fait 86 400 000 millisecondes, sauf les deux jours de l'année où ce n'est pas le cas. Ajoutez cela à midi le jour du passage à l'heure d'été et l'horloge affiche 13h00 ; faites-le à l'automne et elle affiche 11h00. Le calcul est juste — un jour calendaire et 24 heures sont simplement deux choses différentes deux fois par an.

Comment ça marche

  • Convertit des horodatages en millisecondes vers des dates et inversement, en UTC et en heure locale.
  • Affiche la décomposition en unités, car les valeurs en millisecondes sont illisibles d'un coup d'œil.
  • Signale la limite au-delà de laquelle une Date cesse d'être valide, une défaillance silencieuse et non bruyante.
1 seconde = 1 000 ms      1 heure = 3 600 000 ms
1 minute = 60 000 ms      1 jour  = 86 400 000 ms

plage de Date en JavaScript = ±8 640 000 000 000 000 ms
  → +275760-09-13 et −271821-04-20

une milliseconde au-delà → Invalid Date

Exemple chiffré

Ajouter un jour en millisecondes à chaque changement d'heure, plus la limite de plage.

  1. départ 28 mars 2026, 12h00 — ajouter 86 400 000 ms → 29 mars, 13h00
  2. départ 24 octobre 2026, 12h00 — ajouter 86 400 000 ms → 25 octobre, 11h00
  3. 8 640 000 000 000 000 ms → +275760-09-13, le maximum
  4. une milliseconde de plus → Invalid Date
  5. cette Invalid Date reste un objet, et getTime() renvoie NaN

Aucun des deux changements ne vous ramène à 12h00, parce que le jour calendaire durait 23 ou 25 heures. Et l'échec de plage est pire qu'une exception : Invalid Date passe instanceof Date, circule donc plus loin et transforme tout calcul ultérieur en NaN.

Lire le résultat

  • Employez l'arithmétique calendaire quand vous voulez dire « demain à la même heure » et l'arithmétique en millisecondes quand vous voulez dire « dans 24 heures ». Elles concordent 363 jours par an, ce qui explique précisément que l'écart soit si rarement détecté aux tests.
  • Invalid Date est le mode de défaillance dangereux parce que ce n'est pas une erreur. C'est un objet Date dont getTime() vaut NaN, et NaN se propage en silence à travers chaque opération suivante jusqu'à ce que quelque chose, bien plus loin, s'affiche vide ou à zéro.
  • La limite de plage vaut ±100 000 000 jours depuis l'époque, assez généreuse pour que l'atteindre signifie presque toujours une mauvaise multiplication plutôt qu'une vraie date — le plus souvent des secondes fournies là où des millisecondes étaient attendues, gonflant la valeur d'un facteur mille.
  • Les millisecondes tiennent confortablement dans la plage d'entiers sûrs : contrairement aux nanosecondes, elles peuvent vivre dans un nombre ordinaire sans perdre de chiffres. C'est la raison pratique pour laquelle la plupart des API se sont arrêtées à la milliseconde plutôt qu'à plus fin.

Questions fréquentes

Pourquoi ma date est-elle décalée d'une heure après avoir ajouté un jour ?
Vous avez franchi un changement d'heure. Ajouter 86 400 000 ms ajoute exactement 24 heures, mais ce jour calendaire en comptait 23 ou 25. Si vous vouliez la même heure d'horloge, ajoutez un jour par arithmétique calendaire plutôt qu'un nombre fixe de millisecondes.
Que signifie Invalid Date ?
La valeur sortait de ±8 640 000 000 000 000 ms ou n'a pas pu être analysée. Ce n'est pas une exception : c'est un objet Date dont getTime() vaut NaN, qui continue de circuler dans votre code et transforme silencieusement les calculs suivants en NaN eux aussi.

Guide des timestamps en millisecondes

Les timestamps en millisecondes sont le format le plus répandu dans les applications web modernes et en JavaScript. Une milliseconde vaut un millième de seconde, ce qui offre une précision supérieure aux secondes classiques. JavaScript (Date.now()) et la JVM renvoient l'heure dans ce format, ce qui en fait le standard de fait de la plupart des plateformes web.

JavaScript et les timestamps

En JavaScript, Date.now() renvoie le timestamp en millisecondes depuis l'epoch de 1970. Contrairement à d'autres langages, JavaScript ne dispose pas d'un objet Date natif gérant les nanosecondes. Pour plus de précision, les développeurs utilisent performance.now(), qui renvoie des fractions de milliseconde avec une précision de l'ordre de la microseconde.

Applications nécessitant des millisecondes

La précision à la milliseconde est critique pour : les systèmes de trading où l'ordre d'exécution compte, le profilage des performances des applications web, les animations et jeux dans le navigateur pour une fluidité à 60 FPS et plus, les systèmes IoT collectant des données de capteurs en temps réel, et la journalisation des événements pour l'analyse d'incidents.

Cast et conversion

Pour convertir des millisecondes vers d'autres formats : divisez par 1000 pour obtenir des secondes, par 1 000 000 pour des nanosecondes, par 1000 × 60 pour des minutes, etc. Windows .NET et d'autres systèmes peuvent utiliser une epoch différente : consultez toujours la documentation.