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.
- départ 28 mars 2026, 12h00 — ajouter 86 400 000 ms → 29 mars, 13h00
- départ 24 octobre 2026, 12h00 — ajouter 86 400 000 ms → 25 octobre, 11h00
- 8 640 000 000 000 000 ms → +275760-09-13, le maximum
- une milliseconde de plus → Invalid Date
- 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.