RUNWEBTOOLS
Français
Web & développeur

Travailler avec les timestamps Unix : l'heure epoch simplement

Mis à jour 2026-07-06

Ouvrez une réponse d'API ou une ligne de base de données et vous trouverez souvent une date stockée sous forme d'un simple nombre comme 1751760000. C'est un timestamp Unix, et c'est ainsi qu'une énorme quantité de logiciels suit le temps. Ce guide explique ce que signifie ce nombre, pourquoi les ordinateurs comptent le temps ainsi, et les pièges — secondes vs. millisecondes, fuseaux horaires et le problème de l'an 2038.

Ce qu'est un timestamp Unix

Un timestamp Unix est le nombre de secondes écoulées depuis un moment fixe appelé epoch : 00:00:00 UTC le 1er janvier 1970. Donc 0 est l'epoch lui-même, 60 une minute après, et 1751760000 un moment de 2025. C'est juste un compteur continu de secondes.

Pourquoi compter les secondes depuis 1970 ?

Représenter le temps par un seul entier est extrêmement pratique pour les ordinateurs. Comparer deux moments revient à comparer deux nombres ; trouver l'écart entre eux est une soustraction ; trier des événements n'est que trier des entiers — le tout sans calendriers, mois, années bissextiles ni fuseaux horaires à raisonner. Le point de départ de 1970 est un choix historique des débuts du système d'exploitation Unix qui est simplement resté.

Le piège secondes vs. millisecondes

C'est l'erreur que presque tout le monde commet au moins une fois. Les timestamps Unix sont classiquement en secondes, mais beaucoup de systèmes — JavaScript en particulier — utilisent les millisecondes (millièmes de seconde). Les deux diffèrent d'un facteur 1000 :

secondes:      1751760000
millisecondes: 1751760000000

Passez une valeur en secondes à quelque chose qui attend des millisecondes et votre date atterrit en 1970 ; faites l'inverse et elle atterrit des dizaines de milliers d'années dans le futur. La vérification rapide : un timestamp actuel en secondes a 10 chiffres ; en millisecondes, 13. Quand une date convertie a l'air absurde, c'est presque toujours pourquoi.

Fuseaux horaires et UTC

Une force clé des timestamps Unix : le nombre lui-même est toujours en UTC. Il représente un instant exact, le même pour tout le monde sur Terre. Le timestamp 1751760000 est un seul moment ; qu'il s'affiche à 16 h à Londres ou 11 h à New York est purement un choix d'affichage appliqué à la fin. Stocker le temps en timestamp UTC et le convertir en heure locale seulement à l'affichage évite toute une catégorie de bugs de fuseau horaire. Pour voir le même instant dans différentes régions, un convertisseur de fuseaux horaires est l'outil qu'il faut.

Convertir vers et depuis des dates humaines

Vous devrez sans cesse aller dans les deux sens — transformer un timestamp en date lisible pour déboguer un journal, ou une date en timestamp pour interroger une API. Notre convertisseur de timestamp Unix fait les deux instantanément et affiche le résultat dans votre heure locale et en UTC. Pour mesurer plutôt l'écart entre deux dates, le calculateur de différence de dates s'en charge directement.

Le problème de l'an 2038

Les systèmes plus anciens stockent le timestamp sous forme d'entier signé sur 32 bits, qui ne peut compter que jusqu'à 2 147 483 647. Ce plafond est atteint à 03:14:07 UTC le 19 janvier 2038 — une seconde plus tard, le compteur déborde et repasse à un nombre négatif, renvoyant les dates en 1901. C'est la même catégorie de bug que le bug de l'an 2000. Le correctif est déjà répandu : utiliser un entier sur 64 bits, qui repousse la limite à environ 292 milliards d'années. La plupart des logiciels modernes vont bien, mais c'est bon à savoir en touchant des systèmes hérités.

Référence rapide

  • Un timestamp Unix = secondes depuis le 1er janvier 1970 UTC.
  • 10 chiffres = secondes ; 13 chiffres = millisecondes.
  • La valeur est toujours en UTC — appliquez les fuseaux horaires seulement à l'affichage.
  • Le stockage 32 bits casse en 2038 ; le 64 bits non.

Plus sur Web & développeur

Voir tous les guides Web & développeur →

Outils mentionnés dans ce guide