Tous les guides

Convertir un timestamp Unix en date, et une date en timestamp

Publié le · Mis à jour le 3 min de lecture

Un timestamp Unix est un nombre qui compte le temps écoulé depuis le 1er janvier 1970 à minuit, en heure universelle. On le rencontre dans les bases de données, les journaux de programmes et les interfaces de sites. Deux questions décident de la date obtenue : l’unité du nombre, et le fuseau dans lequel on lit le résultat.

Une valeur repère

Convertir un timestamp Unix donne trois lectures d’un même instant. Pour 1700000000, avec un navigateur réglé sur l’heure de Paris :

LectureRésultat
Date UTCTue, 14 Nov 2023 22:13:20 GMT
Date locale14 novembre 2023 à 23:13:20 UTC+1
ISO2023-11-14T22:13:20.000Z

L’heure locale suit le fuseau du navigateur : une heure de plus à Paris en hiver. Le même timestamp est un seul instant, lu dans deux fuseaux.

L’unité est reconnue d’après le nombre de chiffres

Le réglage par défaut reconnaît l’unité selon la longueur du nombre. Les trois valeurs suivantes désignent le même instant, à la précision près.

NombreChiffresUnité reconnueInstant obtenu
170000000010Secondes14 nov. 2023, 22:13:20 UTC
170000000000013Millisecondes14 nov. 2023, 22:13:20 UTC
170000000012345616Microsecondes14 nov. 2023, 22:13:20,123 UTC

La règle : jusqu’à 11 chiffres, des secondes ; de 12 à 14, des millisecondes ; 15 et 16, des microsecondes. Le réglage « millisecondes » force cette unité.

Le piège de la règle

Comme l’unité se déduit de la longueur, une valeur ambiguë est lue d’une seule façon : 10000000000 (11 chiffres) donne le 20 novembre 2286, et 100000000000 (12 chiffres) le 3 mars 1973. Un timestamp en millisecondes antérieur à mars 1973 a 11 chiffres ou moins, et serait lu comme des secondes : forcez alors le réglage « millisecondes ».

Les valeurs avant 1970 et la limite de 2038

Un nombre négatif désigne un instant antérieur à 1970 : −1 donne le 31 décembre 1969 à 23:59:59 UTC, et 0 le 1er janvier 1970 à minuit.

Le nombre 2147483647 est le plus grand que contient un entier signé sur 32 bits : il donne le 19 janvier 2038 à 03:14:07 UTC. Le nombre suivant, 2147483648, donne 03:14:08. L’outil continue sans limite, mais un système qui stocke le temps sur 32 bits ne le peut pas : c’est le « bogue de l’an 2038 ».

Convertir une date en timestamp

Entrez une date au lieu d’un nombre : l’outil donne le timestamp en secondes et en millisecondes.

EntréeTimestamp en secondesLecture
2026-01-011767225600Minuit en heure universelle, sans fuseau indiqué
2026-01-01T10:30:00+01:00176725980010:30 à Paris, soit 09:30 en heure universelle
2024-02-291709164800Année bissextile acceptée

Une date sans fuseau est lue en heure universelle, pas en heure locale : l’outil le rappelle dans le résultat. Une date qui n’existe pas, comme le 30 février 2026, est refusée avec un message.

Les fautes courantes

  • Lire des millisecondes comme des secondes : la date tombe des milliers d’années trop loin.
  • Oublier le fuseau : une date lue comme locale puis envoyée comme universelle se décale d’une ou plusieurs heures.
  • Écrire une date sans fuseau en pensant à l’heure locale, alors qu’elle sera lue en heure universelle.

Pour compter les jours entre deux dates, voyez Compter les jours entre deux dates.

Pour quels cas

Un journal de programme, une base de données, une réponse de service en ligne ou un fichier exporté : le nombre se lit mal, la date se lit tout de suite.

Vérifier une conversion

  1. Relisez la ligne UTC, qui ne dépend pas de votre appareil.
  2. Vérifiez l’unité annoncée dans la première ligne du résultat.
  3. Reconvertissez la date obtenue : vous devez retrouver le nombre de départ.

Convertir un timestamp Unix

Questions fréquentes

Qu’est-ce qu’un timestamp Unix ?
Le nombre de secondes écoulées depuis le 1er janvier 1970 à minuit, en heure universelle.
Comment savoir si un nombre est en secondes ou en millisecondes ?
L’outil le déduit du nombre de chiffres : jusqu’à 11 chiffres, des secondes ; de 12 à 14, des millisecondes ; 15 et 16, des microsecondes.
Que se passe-t-il en 2038 ?
Le nombre 2147483647, le plus grand entier signé sur 32 bits, correspond au 19 janvier 2038. Un système qui stocke le temps sur 32 bits ne peut pas aller plus loin.
Quel fuseau est utilisé pour une date sans fuseau ?
L’heure universelle, pas l’heure locale. L’outil le rappelle dans le résultat.