Convertisseur de timestamp Unix : epoch en date lisible et retour
Collez un timestamp pour le lire comme une date, ou choisissez une date pour obtenir son timestamp. L’outil détecte les secondes, millisecondes, microsecondes et nanosecondes et affiche l’UTC ainsi que le fuseau horaire choisi
Timestamp et date
Chiffres uniquement ; ajoutez un signe moins pour les dates avant 1970. Modifier un champ met l’autre à jour. Plage valide : environ ±8,64 × 10¹⁵ millisecondes autour de 1970.
Le temps Unix compte les secondes depuis 1970-01-01 00:00:00 UTC et ignore les secondes intercalaires. Le fuseau horaire ne change que l’affichage de l’instant.
Comment utiliser cet outil
- Collez un timestamp Unix ou appuyez sur « Utiliser l’heure actuelle ». Le champ de date se remplit aussitôt.
- Laissez l’unité sur Auto, ou choisissez secondes, millisecondes, microsecondes ou nanosecondes.
- Choisissez un fuseau horaire et lisez le résultat en UTC et dans ce fuseau. Pour aller dans l’autre sens, modifiez la date et l’heure et lisez le timestamp dans les quatre unités. « Copier le résultat » permet de le conserver.
Exemple concret
Le timestamp 1700000000 compte 10 chiffres ; il est donc lu en secondes : 2023-11-14T22:13:20Z en UTC. Dans America/Sao_Paulo (UTC−03:00 ce jour-là), l’horloge indique 19:13:20 le même mardi, 318ᵉ jour de 2023. Ajoutez trois zéros, 1700000000000, et l’outil détecte des millisecondes et affiche le même instant. Dans l’autre sens, 2024-01-01 00:00:00 en UTC vaut 1704067200 secondes.
Méthodologie
Le manuel Linux définit le temps Unix comme le nombre de secondes écoulées depuis l’Epoch, 1970-01-01 00:00:00 UTC, et précise que les systèmes Linux suivent normalement l’exigence POSIX selon laquelle cette valeur ignore les secondes intercalaires (page de manuel time(2)). POSIX donne l’arithmétique : chaque jour compte exactement 86400 secondes ; un timestamp vaut donc le nombre de jours depuis l’Epoch multiplié par 86400, plus les secondes écoulées dans la journée. JavaScript, qui exécute cet outil, stocke le même instant en millisecondes depuis l’Epoch et accepte des valeurs jusqu’à ±8,64 × 10¹⁵ ms, du 20 avril 271821 av. J.-C. au 13 septembre 275760 apr. J.-C. (MDN). Les dates sont écrites au format ISO 8601, dans le profil défini par la RFC 3339, avec « Z » pour l’UTC ou un décalage comme −03:00. Tout s’exécute dans votre navigateur, et les règles de fuseaux horaires viennent des données du navigateur, pas de ce site.
Quatre erreurs de timestamp et comment les repérer
La plupart des dates fausses viennent de quelques causes qui reviennent. Vérifiez-les avant de déboguer autre chose.
- Des secondes lues comme des millisecondes, ou l’inverse. 1700000000 pris pour des millisecondes donne le 1970-01-20, soit 19 jours après l’Epoch, et 1700000000000 pris pour des secondes tombe en l’an 55840. Une date proche de 1970 ou très lointaine signale en général la mauvaise unité.
- Confondre heure locale et UTC. Un timestamp est un instant ; l’heure affichée dépend du fuseau. 1700000000 vaut 22:13:20 en UTC et 19:13:20 à São Paulo, et les deux sont corrects.
- Stocker des secondes dans un entier signé sur 32 bits. La plus grande valeur, 2147483647, correspond au 2038-01-19 03:14:07 UTC et la plus petite, −2147483648, au 1901-12-13 20:45:52 UTC. La page de manuel time(2) recommande un time_t plus large pour les logiciels qui doivent fonctionner après 2038.
- Attendre des secondes intercalaires. Le temps Unix compte chaque jour pour 86400 secondes ; ajouter 86400 à un timestamp donne donc toujours la même heure UTC un jour plus tard.
Questions fréquentes
Qu’est-ce qu’un timestamp Unix ? ▼
C’est le nombre de secondes écoulées depuis 1970-01-01 00:00:00 UTC, l’Epoch Unix, sans compter les secondes intercalaires. Par exemple, 1700000000 correspond à 2023-11-14T22:13:20Z. Un seul nombre pour un seul instant se stocke, se trie et se compare facilement, et ne dépend ni d’un fuseau horaire ni d’un format de date.
Comment savoir si un timestamp est en secondes ou en millisecondes ? ▼
Comptez les chiffres. Les timestamps de dates proches d’aujourd’hui ont 10 chiffres en secondes, 13 en millisecondes, 16 en microsecondes et 19 en nanosecondes. Le mode Auto applique cette règle et indique ce qu’il a détecté. Les très petits nombres comme 1000 sont ambigus ; choisissez vous-même l’unité si vous la connaissez.
Que se passe-t-il en 2038 ? ▼
2147483647 secondes, soit 2038-01-19 03:14:07 UTC, est la plus grande valeur d’un entier signé sur 32 bits. Un logiciel qui garde les secondes sur 32 bits ne peut pas contenir la seconde suivante et peut repasser à une date de 1901. Le manuel Linux recommande un time_t plus large pour les logiciels destinés à fonctionner après 2038. Cet outil utilise des nombres plus grands : il se contente donc de vous avertir.
Un timestamp Unix a-t-il un fuseau horaire ? ▼
Non. Il désigne un instant unique pour tous les habitants de la Terre. Le fuseau horaire décide seulement quelle heure afficher pour cet instant : 1700000000 vaut 22:13:20 UTC et 19:13:20 dans America/Sao_Paulo. Quand vous modifiez le champ de date, l’outil le lit dans le fuseau choisi.
Le temps Unix inclut-il les secondes intercalaires ? ▼
Non. POSIX compte chaque jour pour exactement 86400 secondes et Linux suit cette règle : le compteur ne bouge pas pour une seconde intercalaire. Ajouter 86400 à un timestamp donne donc toujours la même heure UTC un jour plus tard, et cet outil ne peut pas afficher 23:59:60.