Convertisseur d’horodatage Unix
Résultat
Date (UTC)
- Heure (UTC)
- 12:00:00
- Jour de la semaine (UTC)
- jeudi
- ISO 8601
- 2026-01-15T12:00:00Z
- Horodatage
- 1 768 478 400 secondes
- Horodatage (millisecondes)
- 1 768 478 400 000
Ce convertisseur d’horodatage Unix lit un nombre de secondes ou de millisecondes et le transforme en date et en heure, ou prend une date et une heure et rend le nombre. Les deux sens vivent sur la même page parce qu’ils sont inverses l’un de l’autre : quel que soit le mode choisi, la réponse apparaît à côté des entrées qui l’ont produite, si bien qu’une valeur se vérifie au lieu de se croire. Tous les résultats sont en UTC et écrits de trois façons — une date, une heure, et une chaîne ISO 8601 complète terminée par Z — parce qu’un horodatage Unix n’a pas de fuseau horaire : 1 768 478 400 désigne le même instant à Paris et à New York, seule la lecture locale change. La page convertit aussi entre secondes et millisecondes, ce qui est l’origine de la plupart des confusions pratiques, et elle porte un court tableau des valeurs d’époque qu’il vaut la peine de connaître, dont le problème de l’an 2038.
Quatre valeurs d’époque à connaître, en secondes, en millisecondes et en UTC
| Secondes | Millisecondes | UTC |
|---|---|---|
| 0 | 0 | 1970-01-01T00:00:00Z |
| 1000000000 | 1000000000000 | 2001-09-09T01:46:40Z |
| 2147483647 | 2147483647000 | 2038-01-19T03:14:07Z |
| 4133980799 | 4133980799000 | 2100-12-31T23:59:59Z |
Chaque ligne est le même instant écrit de trois façons, et c’est là tout l’intérêt : les deux colonnes de nombres ne diffèrent que de trois chiffres, donc un horodatage dont l’ordre de grandeur est faux se repère déjà à sa longueur. La première ligne est l’époque elle-même, au 1er janvier 1970. La deuxième est le premier horodatage à dix chiffres, et il tombe le 9 septembre 2001. La troisième est 2³¹ − 1, la dernière seconde qu’un compteur 32 bits signé puisse contenir : c’est le problème de l’an 2038, une limite de ce type de stockage et non de l’horodatage. La quatrième est la dernière seconde que cette page accepte, et elle est en bas parce que la colonne monte en ordre — on croit plus facilement à la limite d’un domaine quand elle est écrite comme une valeur que lorsqu’elle est seulement affirmée dans le texte.
Formule
secondes depuis l’époque = jours depuis le 1970-01-01 × 86 400 + secondes depuis minuit UTC ; date et heure = la même arithmétique parcourue à l’envers
- mode
- Le sens du calcul : un horodatage saisi et une date rendue, ou une date et une heure saisies et un horodatage rendu
- timestamp
- Le nombre lui-même, en secondes ou en millisecondes selon le champ d’unité. N’est utilisé que dans le sens horodatage vers date
- unit
- Si le nombre saisi compte des secondes (10 chiffres pour une date de ce siècle) ou des millisecondes (13 chiffres). N’est utilisé que dans le sens horodatage vers date
- date
- La journée civile en UTC, écrite AAAA-MM-JJ. N’est utilisée que dans le sens date vers horodatage
- time
- L’heure UTC d’une horloge, au format HH:MM ou HH:MM:SS. N’est utilisée que dans le sens date vers horodatage
- utcDate
- La date à laquelle tombe l’horodatage, en UTC. C’est le résultat principal
- utcTime
- L’heure UTC, toujours avec les secondes. Toute fraction de seconde de l’entrée est abandonnée plutôt qu’arrondie
- utcWeekday
- Le jour de la semaine de cette date, sous forme de numéro de 0 (dimanche) à 6 (samedi)
- isoDateTime
- La forme ISO 8601 complète, du type 2026-01-15T12:00:00Z, prête à coller dans du code ou un journal
- timestampSeconds
- Le même instant en secondes entières depuis le 1970-01-01T00:00:00Z, tronqué plutôt qu’arrondi pour ne jamais contredire l’heure affichée au-dessus
- timestampMilliseconds
- Le même instant en millisecondes — la valeur en secondes multipliée par 1000, en conservant la partie inférieure à la seconde que l’entrée portait
Servez-vous-en quand un nombre et une date doivent être mis en face l’un de l’autre : lire un horodatage dans un journal de serveur, une réponse d’API ou une ligne de base de données ; vérifier si une valeur reçue est en secondes ou en millisecondes ; ou fabriquer un horodatage à stocker. La page s’arrête délibérément à UTC. Elle ne convertit pas vers votre heure locale et ne demande pas dans quel fuseau vous êtes — un horodatage Unix n’a pas de fuseau, la réponse honnête est donc une réponse UTC, et la transformer en heure locale est le travail de la calculatrice de fuseau horaire. Elle ne fait pas non plus d’arithmétique sur les horodatages : pour « cette valeur plus trente jours », convertissez d’abord et passez par une calculatrice de dates.
Exemples détaillés
1 768 478 400 — l’instant de référence
- Le nombre est en secondes, c’est donc déjà la valeur d’époque : aucune conversion n’est nécessaire avant de le lire
- Divisé par 86 400, il donne le nombre de jours entiers depuis le 1er janvier 1970, et le reste est l’heure du jour : le résultat tombe le 15 janvier 2026 à 12:00:00 UTC
- Le 15 janvier 2026 est un jeudi, donc le numéro du jour de la semaine est 4
- Écrit en toutes lettres, cela donne 2026-01-15T12:00:00Z, la forme qu’attendent un journal ou une API
- La ligne des millisecondes est le même instant multiplié par 1 000 : c’est l’allure de cette valeur quand un système la rapporte en millisecondes
C’est la valeur sur laquelle la page s’ouvre, et elle vaut la peine d’être retenue comme repère : 1 768 478 400, c’est midi UTC le 15 janvier 2026. Toutes les autres conversions de la page se vérifient plus facilement une fois un horodatage familier, parce qu’une réponse fausse se trompe en général de jours entiers ou d’un facteur 1000, et que les deux se voient tout de suite contre un repère connu.
2 147 483 647 — la dernière seconde de l’ère 32 bits
- 2 147 483 647 vaut 2 puissance 31 moins 1 : la plus grande valeur qu’un entier 32 bits signé puisse contenir
- Lu comme un compte d’époque, c’est le 19 janvier 2038 à 03:14:07 UTC, ce qui est le sujet du problème de l’an 2038 — les systèmes qui stockent les horodatages dans ce type manquent de place une seconde plus tard et repartent sur une date de 1901
- Le 19 janvier 2038 est un mardi, jour numéro 2
- La ligne des secondes rend le nombre inchangé, ce qui vérifie que la valeur est entrée et ressortie par la même arithmétique
C’est la ligne du tableau de référence ci-dessous, passée dans la calculatrice. Le problème de l’an 2038 n’est pas que la date soit hors d’atteinte — cette page la traite sans se plaindre — mais qu’un programme qui utilise un compteur 32 bits signé ne peut pas représenter la seconde suivante. Les compteurs 64 bits n’ont pas cette limite avant un horizon qui compte, et c’est pourquoi la même valeur en millisecondes s’écrit 2 147 483 647 000.
Une valeur en millisecondes avec une fraction : 1 768 478 400 500
- Le nombre a 13 chiffres et l’unité indique des millisecondes : c’est donc le même instant que le premier exemple, plus une demi-seconde
- L’heure abandonne la fraction au lieu de l’arrondir : elle affiche donc 12:00:00 et non 12:00:01
- La ligne des secondes est tronquée pour rester cohérente : 1 768 478 400, et non 1 768 478 401
- La ligne des millisecondes garde la fraction, parce que c’est le seul endroit du résultat où elle existe
Le seul cas où arrondir et tronquer ne donnent pas la même chose, et la raison pour laquelle la ligne des secondes tronque. Arrondir une demi-seconde vers le haut afficherait une valeur en secondes supérieure d’une unité à l’heure affichée juste au-dessus, et un lecteur qui compare les deux lignes conclurait que l’une des deux est cassée. Garder chaque ligne cohérente avec l’heure affichée compte plus que de garder l’entier le plus proche.
L’autre sens : 15 janvier 2026, 12:00:30 UTC
- La date est transformée en un nombre de jours depuis le 1er janvier 1970, multiplié par 86 400 pour obtenir les secondes jusqu’à minuit
- Trente secondes après minuit sont ajoutées : le total fait 1 768 478 430, soit la valeur du premier exemple plus 30
- Le champ d’heure accepte les secondes : 12:00:30 est donc lu exactement, sans être rabattu sur la minute
- Les lignes de date et de jour de la semaine reviennent inchangées, parce que convertir à l’aller puis au retour est l’opération identité
Refaire le sens inverse sur une valeur déjà convertie est la façon la moins coûteuse de vérifier un horodatage : si l’aller-retour ne rend pas le nombre de départ, c’est probablement que l’unité était fausse. Saisir un nombre de 10 chiffres alors que l’unité dit millisecondes se trompe d’un facteur mille, et cela se voit ici comme une date de janvier 1970 plutôt que comme une erreur.
Limites
Tout ce que la page rapporte est en UTC, et elle ne convertit jamais vers un fuseau local — un horodatage Unix est défini sans fuseau, et la page qui le transforme en heure locale est la calculatrice de fuseau horaire. La fenêtre va du 1970-01-01T00:00:00Z au 2100-12-31T23:59:59Z, et les valeurs en dehors sont refusées plutôt que calculées en silence : les horodatages négatifs sont des horodatages Unix légitimes pour les dates antérieures à l’époque, mais la page le dit et s’arrête au lieu de rendre une réponse de 1969 qui contredirait la plage qu’elle annonce. Les fractions de seconde sont tronquées et non arrondies : une valeur en millisecondes ne perd donc pas sa précision, mais n’influence pas non plus les secondes affichées. La page ne lit pas les dates dans d’autres formats, ne lit pas l’horodatage de la machine sur laquelle vous êtes, et ne fait pas d’arithmétique — pour connaître la date à trente jours d’une valeur convertie, passez par une calculatrice de dates.
Questions fréquentes
- Qu’appelle-t-on le temps Unix ?
- Le temps Unix, ou temps d’époque, est le nombre de secondes écoulées depuis le 1970-01-01T00:00:00 UTC, le point zéro à partir duquel les systèmes Unix comptent. On l’appelle aussi horodatage Unix ou temps POSIX. Rien en lui ne dépend de l’endroit où vous êtes : il est défini en UTC, donc le même instant porte la même valeur partout, et deux machines de fuseaux différents qui ne sont pas d’accord sur l’heure locale restent d’accord sur l’horodatage.
- Comment convertir un horodatage en date ?
- Saisissez la valeur, indiquez si elle compte des secondes ou des millisecondes, et lisez la date et l’heure qui reviennent. La première chose à vérifier est le nombre de chiffres : un compte en secondes pour une date de ce siècle en a 10, un compte en millisecondes en a 13. Une valeur de 13 chiffres lue comme des secondes tombe des dizaines de milliers d’années dans le futur et se fait refuser ; une valeur de 10 chiffres lue comme des millisecondes tombe en janvier 1970, et c’est l’erreur qui ne s’annonce pas. Reconvertir dans l’autre sens est la confirmation la plus rapide.
- Qu’est-ce que le problème de l’an 2038 ?
- Le problème de l’an 2038 est ce qui arrive lorsqu’un système stocke un horodatage dans un entier 32 bits signé : la plus grande valeur que ce type contient est 2 147 483 647, soit le 2038-01-19T03:14:07 UTC, et une seconde plus tard le compteur déborde sur une date de 1901. C’est une limite de stockage et non une limite de l’horodatage lui-même, et les compteurs 64 bits ne l’ont pas. Cette page convertit cette valeur et celles qui la suivent sans difficulté, parce qu’elle travaille en double précision plutôt qu’en entiers 32 bits.
- Faut-il stocker des secondes ou des millisecondes ?
- Les deux sont très répandues et aucune n’est fausse, mais une valeur seule ne dit pas laquelle c’est : l’unité doit donc voyager avec le nombre ou être convenue à l’avance. Les millisecondes conservent les fractions de seconde et sont ce qu’utilisent l’objet Date de JavaScript et beaucoup de systèmes de journalisation ; les secondes sont ce que définit POSIX et ce que rendent la plupart des API et des bases de données. Passer de l’une à l’autre est une multiplication par 1000, et cette page affiche les deux lignes pour que le couple soit visible d’un coup d’œil.
- Le format ISO 8601 est-il la même chose qu’un horodatage ?
- Non, et les deux se confondent facilement puisqu’ils décrivent le même instant. L’ISO 8601 est la forme écrite — 2026-01-15T12:00:00Z — lisible par un humain, triable, et sans ambiguïté sur le décalage UTC grâce au Z final. Un horodatage Unix est un simple compte, sans aucune mise en forme. La chaîne ISO 8601 est ce que l’on colle dans un document ou une URL ; le compte est ce que l’on stocke ou que l’on compare. Cette page imprime les deux à partir de la même conversion, de sorte qu’on peut les vérifier l’un par l’autre.
Références
- The Open Group Base Specifications — Seconds Since the Epoch — The Open Group — the normative definition of the epoch and of leap-second handling
- RFC 3339 — Date and Time on the Internet: Timestamps — IETF — the format of the Z-suffixed string this page prints
- MDN — Date — MDN Web Docs — the millisecond count and its range in JavaScript
- SYRTE — Systèmes de référence temps-espace — Observatoire de Paris — le laboratoire national du temps et des fréquences