La définition courte
Un horodatage Unix est un décompte signé du temps écoulé à partir de 1970-01-01T00:00:00Z. Dans la définition classique, l’unité est la seconde. Les API modernes utilisent également les millisecondes, les microsecondes et les nanosecondes. Un nombre simple est donc incomplet à moins que son unité ne soit connue.
L'horodatage 0 est l'époque Unix. L'horodatage -1 en seconde est 1969-12-31T23:59:59Z. Les valeurs négatives sont valides lorsque le type d'exécution et de stockage les prend en charge.
UTC et fuseaux horaires
L'horodatage identifie un instant sur la chronologie UTC. Il ne comporte aucune ville, pays, règle d’heure d’été ou format d’affichage préféré. Le formatage du même horodatage à Shanghai et à New York produit des lectures d'horloge différentes tout en préservant le même instant.
Secondes intercalaires
L'heure Unix traite généralement chaque jour comme 86 400 secondes et n'encode pas les secondes intercalaires comme des secondes numérotées distinctes. Pour la plupart des travaux sur le Web et les bases de données, cette convention est attendue ; les systèmes de chronométrage scientifiques peuvent utiliser d’autres échelles de temps.
En octobre 2026, la 28e Conférence générale des poids et mesures a adopté la résolution 5 : l'UTC continu entre en vigueur le 20 mai 2027, la différence maximale autorisée entre le temps de rotation de la Terre (UT1) et l'UTC étant portée à 3 600 secondes (une heure). Il ne s’agit pas d’une instruction visant à avancer ou reculer les horloges d’une heure à cette date, et cela ne supprime pas les fuseaux horaires ni les règles d’heure d’été.
Pour les conversions Unix/POSIX de ce site, aucun décalage de seconde intercalaire ne doit être ajouté ou supprimé. JavaScript Date utilise déjà une chronologie qui ne représente pas séparément les secondes intercalaires UTC. Les horodatages existants, y compris les valeurs historiques, conservent la même interprétation selon cette convention ; l'époque et les facteurs de conversion secondes/millisecondes ne changent pas.
Un exemple reproductible
Les secondes 1700000000 sont converties en 2023-11-14T22:13:20.000Z. En multipliant par 1 000, on obtient des millisecondes 1700000000000 sans changer l'instant.
Lire un horodatage à partir d'une API ou d'un journal
Un champ appelé created_at peut contenir une chaîne ISO, des secondes Unix ou des millisecondes Unix. Le nom du champ à lui seul n'identifie pas son format. Vérifiez la spécification de l'API, collez la valeur dans le convertisseur d'horodatage en date et choisissez l'unité documentée. Comparez UTC avec la date prévue de l'événement avant de copier le résultat.
| Secondes | Date UTC | Signification |
|---|---|---|
-1 | 1969-12-31 23:59:59 | Une seconde avant l'époque |
0 | 1970-01-01 00:00:00 | Origine de l'époque |
1700000000 | 2023-11-14 22:13:20 | Un horodatage moderne normal |
2147483647 | 2038-01-19 03:14:07 | La plus grande valeur de seconde signée de 32 bits |
Un instant, différentes lectures d'horloge
Pour 1700000000, UTC est le 14 novembre à 22:13:20. Shanghai est le 15 novembre à 06h13:20 et New York le 14 novembre à 17h13:20. L'horodatage reste identique ; seule la présentation du calendrier change. Utilisez l'outil d'affichage du fuseau horaire Ouvrir l’outil pour vérifier une lecture régionale.
L'heure Unix n'est pas une horloge atomique ou un chronomètre de durée écoulée. Les horodatages courants de style POSIX ne comptent pas les secondes intercalaires comme des secondes extra ordinaires. L'horloge de votre appareil peut également être corrigée lorsque la page est ouverte. Pour mesurer une opération courte en JavaScript, utilisez une minuterie monotone telle que performance.now(), plutôt que de soustraire deux dates d'horloge de l'appareil.
Conserver l'unité avec la valeur
Stockez ou documentez l’unité avec un horodatage numérique. Utilisez secondes versus millisecondes lorsqu'une valeur semble peu plausible. Pour interpréter une heure du calendrier, utilisez date pour timestamp et spécifiez son fuseau horaire source.
Normes et références d'exécution
Contrôle à la source : 26 octobre 2026. La décision a été adoptée ; sa date d'entrée en vigueur, le 20 mai 2027, est encore dans le futur à ce jour.