Convertisseur d’horodatage Unix

Convertissez entre horodatages Unix et dates.

À propos de cet outil

Convertissez des horodatages Unix en secondes, millisecondes ou microsecondes en ISO 8601, en heure locale et en temps relatif, ou transformez n’importe quelle date en horodatage.

Mode d’emploi

  1. Collez un horodatage Unix en secondes, millisecondes ou microsecondes, ou n’importe quelle date.
  2. L’unité est détectée d’après le nombre de chiffres.
  3. Lisez la date en ISO 8601, dans votre heure locale, en RFC 2822 et sous forme relative, et copiez ce dont vous avez besoin.

Questions

Qu’est-ce qu’un horodatage Unix ?
Le nombre de secondes écoulées depuis le 1er janvier 1970 à 00:00:00 UTC, appelé epoch Unix. Il est identique partout dans le monde, ce qui le rend idéal pour stocker des instants.
Secondes ou millisecondes ?
Un horodatage actuel compte 10 chiffres en secondes, 13 en millisecondes. Les outils Unix et la plupart des API utilisent les secondes ; Date.now() en JavaScript renvoie des millisecondes.
Qu’est-ce que le problème de l’an 2038 ?
Les systèmes qui stockent les horodatages sous forme d’entiers signés sur 32 bits débordent le 19 janvier 2038. Les systèmes modernes utilisent des valeurs sur 64 bits et ne sont pas concernés.
Comment les dates antérieures à 1970 s’écrivent-elles en timestamp Unix ?
Sous forme de nombres négatifs. -86400 correspond au 31 décembre 1969 à 00:00 UTC, un jour avant l’epoch, et ce convertisseur accepte le signe moins. Certains systèmes et bibliothèques anciens refusent les timestamps négatifs : vérifiez avant de stocker ainsi des dates historiques comme des dates de naissance.
Les timestamps Unix incluent-ils les secondes intercalaires ?
Non. Le temps Unix considère que chaque jour dure exactement 86 400 secondes et ignore les secondes intercalaires. Quand l’une d’elles survient, l’horloge système répète une seconde ou, chez Google et AWS, la répartit sur plusieurs heures, ce qu’on appelle le « smearing ». Pour presque toutes les applications, vous pouvez ignorer ce point sans risque.
Comment convertir un timestamp Unix dans Excel ou Google Sheets ?
Utilisez =A1/86400 + DATE(1970,1,1) et formatez la cellule en date et heure. Le résultat est en UTC : ajoutez votre décalage divisé par 24 pour obtenir l’heure locale. Pour un timestamp en millisecondes, divisez par 86400000 au lieu de 86400.

Comment obtenir le timestamp Unix actuel dans n’importe quel langage ?

La plupart des langages renvoient le temps epoch actuel en un seul appel. En JavaScript, Date.now() renvoie des millisecondes : utilisez donc Math.floor(Date.now() / 1000) pour des secondes. time.time() en Python renvoie des secondes sous forme de float, et dans un shell, date +%s affiche les secondes. Go propose time.Now().Unix(), Java Instant.now().getEpochSecond() et PostgreSQL extract(epoch from now()). Le haut de cette page affiche la valeur en direct, en secondes et en millisecondes.

L’opération inverse est tout aussi courte : new Date(ts * 1000).toISOString() en JavaScript, datetime.fromtimestamp(ts, tz=timezone.utc) en Python, date -d @1762540800 sous Linux ou date -r 1762540800 sous macOS. Le bug le plus fréquent consiste à mélanger les unités. Passez des secondes à une fonction qui attend des millisecondes et vous atterrissez en janvier 1970 ; passez des millisecondes là où des secondes sont attendues et vous obtenez une date située des dizaines de milliers d’années dans le futur.

ISO 8601 ou temps Unix : quel format stocker ?

Le temps Unix est un simple nombre : facile à comparer, à trier et à utiliser dans des calculs, et sans confusion de fuseau horaire. Les chaînes ISO 8601 comme 2026-11-07T20:00:00Z sont lisibles par un humain et peuvent porter un décalage si nécessaire, comme dans 2026-11-07T21:00:00+01:00. Les deux décrivent un instant exact. La RFC 3339 est le profil internet plus strict d’ISO 8601 que suivent en pratique la plupart des API.

Une bonne règle consiste à stocker les instants dans un type timestamp natif ou en temps Unix, et à envoyer de l’ISO 8601 avec un Z ou un décalage dans les API et les journaux. Évitez les chaînes sans aucun fuseau, comme 2026-11-07 20:00, car chaque lecteur peut en supposer un différent. Ce convertisseur epoch lit ces chaînes comme de l’UTC et le signale dans une note. Il comprend aussi les formats de journaux comme 06/Nov/2026:09:15:02 +0000.

Pourquoi mon timestamp converti est-il décalé de quelques heures ?

Un timestamp Unix n’a pas de fuseau horaire : il compte les secondes écoulées depuis l’epoch en UTC. Si une date convertie semble décalée de quelques heures, le timestamp est généralement correct et c’est l’affichage qui pose problème. Comparez ici la ligne ISO 8601 (UTC) avec la ligne Locale : elles montrent le même instant, une fois en UTC et une fois dans le fuseau horaire de votre navigateur. Le code qui formate des dates sans fuseau utilise celui de la machine.

L’autre cause fréquente est un timestamp créé à partir de l’heure locale. En Python, datetime.utcnow().timestamp() est l’exemple classique : la valeur UTC naïve est traitée comme une heure locale, et le résultat est donc décalé de votre écart avec l’UTC. Utilisez plutôt datetime.now(timezone.utc). Une différence d’exactement 3600 ou 7200 secondes trahit ce type de bug. Le Convertisseur de fuseaux horaires montre l’heure qu’affichait l’horloge dans chaque fuseau.

Horodatages Unix remarquables

Les étapes marquantes du temps Unix, en secondes depuis le 1er janvier 1970 UTC.

HorodatageDate (UTC)Pourquoi c’est important
01970-01-01T00:00:00ZL’epoch Unix : le point de départ du comptage
10000000002001-09-09T01:46:40ZUn milliard de secondes
12345678902009-02-13T23:31:30ZLes chiffres de 1 à 0 dans l’ordre, fêtés par les programmeurs
20000000002033-05-18T03:33:20ZDeux milliards de secondes
21474836472038-01-19T03:14:07ZPlus grande valeur signée sur 32 bits : le problème de l’an 2038
42949672952106-02-07T06:28:15ZPlus grande valeur non signée sur 32 bits

Quelque chose ne fonctionne pas, ou un résultat semble faux ? Signaler un problème avec cet outil