Toolyard

Qu’est-ce qu’un timestamp Unix ?

Ce que c’est

Un timestamp Unix est le nombre de secondes écoulées depuis le 1er janvier 1970 à 00:00:00 UTC, appelé l’epoch Unix. Au même instant, ce nombre est le même partout dans le monde, c’est pourquoi les API, les journaux et les bases de données l’utilisent. 1700000000, par exemple, correspond au 14 novembre 2023 à 22:13:20 UTC.

Secondes ou millisecondes ?

Un timestamp en secondes a aujourd’hui 10 chiffres. JavaScript, Java et beaucoup d’API utilisent des millisecondes, sur 13 chiffres. Si vous obtenez une date en 1970 ou des milliers d’années dans le futur, l’unité est probablement la mauvaise.

Le convertir en ligne

Collez-le dans le Convertisseur de timestamp Unix. Il détecte les secondes ou les millisecondes et affiche la date en UTC et dans votre fuseau horaire.

Dans le code et les tableurs

  • JavaScript : new Date(1700000000 * 1000)
  • Python : datetime.fromtimestamp(1700000000, tz=timezone.utc)
  • Excel ou Google Sheets : =A1/86400+DATE(1970;1;1), puis formatez la cellule en date. Le résultat est en UTC.
  • Terminal sur Mac ou Linux, heure actuelle : date +%s

Le problème de l’an 2038

Les systèmes qui stockent le timestamp dans un entier signé de 32 bits débordent le 19 janvier 2038 à 03:14:07 UTC. Les systèmes modernes utilisent 64 bits, ce qui suffit pour des milliards d’années.

Exemples

  • 0 correspond au 1er janvier 1970, 00:00:00 UTC.
  • 86400 correspond à exactement un jour plus tard, le 2 janvier 1970.
  • -86400 correspond à un jour plus tôt, le 31 décembre 1969. Les horodatages négatifs sont des dates antérieures à 1970.
  • 2000000000 correspond au 18 mai 2033, 03:33:20 UTC.

Erreurs fréquentes

  • Croire que l’horodatage a un fuseau horaire. Il n’en a pas. 1700000000 est le même instant partout ; seul l’affichage dépend du fuseau.
  • Créer un horodatage à partir de l’heure locale comme si c’était l’UTC. Le résultat est décalé de votre écart avec l’UTC, souvent de quelques heures pile. Vérifiez une date connue après conversion.
  • Les mois en JavaScript. new Date(2026, 0, 15) est le 15 janvier : les mois commencent à 0.
  • Les secondes intercalaires. Le temps Unix considère chaque jour comme exactement 86 400 secondes et ignore les secondes intercalaires ; il ne compte donc pas chaque seconde écoulée.

Outils de ce guide

Autres guides