
Timestamp Unix : convertir un epoch et éviter les erreurs de fuseau
Convertissez un epoch Unix en date lisible et inversement, distinguez secondes et millisecondes, et évitez les pièges de fuseau, de JWT et de changement d’heure.
Un epoch compte des secondes et ne porte aucun fuseau horaire
Un nombre comme 1710000000 ou 1710000000000 apparaît dans une ligne de log, une réponse d’API, un JWT ou une colonne de base de données. Il compte le temps écoulé depuis le 1er janvier 1970 à 00:00:00 UTC, en secondes ou en millisecondes. Il ne porte aucun fuseau horaire. Le convertisseur de timestamp Unix transforme un epoch en date et une date en epoch. Les champs vides suivent une horloge en direct. Saisissez un epoch, une date ISO ou une date et une heure locales, et les deux autres champs se mettent à jour. Un tableau donne l’epoch en secondes et en millisecondes, puis l’ISO 8601, la RFC 2822, un datetime SQL, un texte dans votre langue et un temps relatif. Il les montre en UTC ou dans le fuseau de votre navigateur. La conversion se fait dans l’onglet et rien n’est envoyé. Ce guide lit un epoch chiffre par chiffre, puis montre ce qu’un fuseau change et ce qu’il laisse intact. Il traite les erreurs qui coûtent le plus cher : des secondes lues comme des millisecondes, un JWT qui n’expire jamais, une date écrite sans fuseau et un changement d’heure. Il donne aussi les limites de 2038 et des autres epochs, puis les mêmes conversions en JavaScript, en Python, dans un shell et en Java. Les outils voisins sont listés dans le hub des utilitaires développeur.
À quoi sert le convertisseur, et où il s’arrête
Le convertisseur répond à deux questions : quel instant désigne ce nombre, et quel nombre désigne cet instant ?
Le convertisseur lit une valeur à la fois. Le reste de la chaîne se contrôle ailleurs.
Lire une valeur sans se tromper
En mode Auto, l’outil compte les chiffres de la partie entière, signe exclu. Vous pouvez coller les exemples suivants dans le champ Epoch Unix.
Le champ Epoch Unix accepte des chiffres, un signe moins facultatif et un point décimal.
Prenons 1710000000. L’epoch ne change pas, seule sa lecture change. Réglez Fuseau sur Local pour voir la ligne de votre propre fuseau.
Saisissez une date dans le champ ISO / texte date pour obtenir son epoch. Le résultat dépend de ce que vous avez écrit après l’heure. Les valeurs suivantes ont été vérifiées dans Node 26, qui utilise le même moteur JavaScript que Chrome. D’autres navigateurs peuvent lire autrement les formes qui ne sont pas ISO.
Cinq erreurs qu’on ne voit qu’en production
JavaScript compte en millisecondes, la plupart des autres langages et protocoles en secondes. new Date(1710000000) donne le 20 janvier 1970 à 19:00:00 UTC. En Python 3.14, datetime.fromtimestamp(1710000000000, tz=timezone.utc) s’arrête avec year must be in 1..9999, not 56157. Java a deux méthodes, Instant.ofEpochSecond et Instant.ofEpochMilli, et rien ne vous prévient si vous prenez la mauvaise.
La RFC 7519 définit exp, nbf et iat comme un nombre de secondes depuis l’epoch, sans compter les secondes intercalaires. Un jeton signé avec exp réglé sur Date.now() + 3600000 porte des millisecondes. Avec la bibliothèque jose en version 6, un tel jeton signé le 9 mars 2024 était encore accepté quand la date de contrôle valait 2034. Son exp de 1710003600000, lu en secondes, correspond à +056157-11-09T08:00:00.000Z. Le convertisseur cache l’erreur si vous laissez l’unité sur Auto, parce qu’il lit 13 chiffres comme des millisecondes et affiche une date normale.
Le texte d’une date sans décalage ne désigne aucun instant tant qu’on n’a pas choisi de fuseau. En Python, datetime(2024, 3, 9, 16, 0, 0).timestamp() sur une machine réglée sur Paris donne 1709996400, pas 1710000000. JavaScript lit 2024-03-09 comme minuit UTC, mais 2024-03-09T00:00:00 comme minuit en heure locale : deux écritures du même jour diffèrent du décalage de la machine.
L’Europe repasse à l’heure d’hiver le dimanche 25 octobre 2026, à 01:00 UTC. À Paris, 03:00 redevient 02:00 : 02:30 existe donc deux fois, à 00:30 UTC (1792888200) et à 01:30 UTC (1792891800). Avec un navigateur réglé sur Paris, le champ Date/heure locale prend la première. Le 29 mars 2026, l’heure de 02:00 à 03:00 n’existe pas, et le champ répond qu’il ne peut pas analyser 02:30. L’epoch lève le doute, car il désigne un seul instant.
Un epoch se stocke facilement et déborde facilement. Ces limites viennent de la largeur du type qui le contient.
Unités, limites et autres epochs en un coup d’œil
Lisez la documentation du système qui a produit le nombre avant de vous fier à ses chiffres.
Ces valeurs se reconnaissent vite quand on les a vues, et chacune peut être collée dans le convertisseur.
Certains systèmes comptent depuis une autre origine ou dans une autre unité. Si une date est décalée de plusieurs décennies, cherchez l’un de ces cas.
Le convertisseur de timestamp Unix, pas à pas
Le convertisseur de timestamp Unix se met à jour peu après la dernière frappe. Il n’y a pas de bouton Convertir.
Regarder l’horloge en direct
Le bloc « Heure Unix actuelle » affiche l’epoch en Secondes et en Millisecondes, chacun avec un bouton Copier. Pause arrête l’horloge et Reprendre la relance. Copier ISO (UTC) prend la date du moment.
Saisir ou coller l’epoch
Utilisez le champ Epoch Unix. Un badge comme « Déduit : secondes » montre comment les chiffres ont été lus. Vous pouvez forcer Secondes ou Millisecondes avec l’option Unité.
Lire le tableau Formats
Il liste l’epoch en secondes et en millisecondes, l’ISO 8601, la RFC 2822 et un datetime SQL. Il ajoute une chaîne locale dans la langue de la page et un temps relatif. La RFC 2822 utilise les noms de jours et de mois en anglais. La ligne relative compte un mois pour 30 jours et une année pour 365 : c’est un repère approximatif.
Copier la ligne voulue
Chaque ligne a son propre bouton Copier. Un court message confirme ce qui a été copié.
Les trois champs restent synchronisés. Celui que vous modifiez commande les autres.
ISO / texte date
Saisissez 2024-03-09T16:00:00Z pour obtenir l’epoch. Le champ Epoch Unix se remplit en secondes, ou en millisecondes si l’unité est réglée sur Millisecondes.
Date/heure locale
Utilisez ce champ pour entrer une date sur votre horloge murale. Ce n’est jamais de l’UTC, même quand le tableau affiche l’UTC, et une aide sous le champ le dit.
Vérifier le fuseau voulu
Si le texte ISO n’a ni Z ni décalage, le navigateur applique son propre fuseau. Ajoutez le décalage pour que le résultat soit le même sur toutes les machines.
Deux réglages changent la façon dont la page lit et affiche une valeur.
Unité
Le mode Auto lit jusqu’à 10 chiffres comme des secondes et de 11 à 15 chiffres comme des millisecondes. Secondes et Millisecondes forcent la lecture. Prenez Secondes pour les claims d’un JWT.
Fuseau
UTC est le réglage par défaut. Local utilise le fuseau de votre navigateur et change les lignes ISO, RFC 2822, SQL et chaîne locale. Les lignes d’epoch ne changent jamais.
Exemple et Tout effacer
Exemple saisit 1710000000. Tout effacer vide les champs et ramène l’horloge en direct.
Quand une valeur est illisible, l’outil dit pourquoi et n’affiche aucune date.
Impossible d’analyser cette entrée
Le texte n’est ni un nombre ni une date que le navigateur comprend. Réécrivez la date en ISO 8601, par exemple 2024-03-09T16:00:00+00:00.
Cette valeur semble plus précise que des millisecondes
Le nombre a 16 chiffres ou plus, comme des microsecondes, des nanosecondes ou un FILETIME. Retirez d’abord les chiffres en trop.
Les mêmes conversions en JavaScript, en Python, dans un shell et en Java
JavaScript travaille en millisecondes. Multipliez ou divisez par 1000 à la frontière avec les systèmes en secondes, et donnez un fuseau à Intl.DateTimeFormat quand il vous en faut un nommé.
Exemple de base
Passez un fuseau à chaque appel. Un datetime naïf n’en a pas, et timestamp() utilise alors le fuseau de la machine.
Exemple de base
Les versions GNU et BSD de date, la première sous Linux et la seconde sous macOS, n’ont pas les mêmes options.
Exemple de base
L’API java.time garde l’unité dans le nom de la méthode, ce qui rend une confusion visible en revue de code.
Exemple de base
Conclusion
Un epoch désigne un seul instant, et presque toutes les erreurs viennent de la façon de le lire. Comptez les chiffres pour distinguer secondes et millisecondes, écrivez le décalage sur chaque date, et gardez le fuseau pour l’affichage. Le convertisseur de timestamp Unix montre le même instant dans les formats utiles, en UTC ou dans votre fuseau. Il lit une valeur à la fois, n’offre pas de liste de fuseaux et refuse les valeurs de 16 chiffres ou plus. Pour un jeton, lisez ses claims avec le décodeur JWT et collez exp avec l’unité réglée sur Secondes. Pour un log, réécrivez d’abord la date en ISO 8601. Le hub des utilitaires développeur liste les outils voisins.
Convertir un timestamp Unix dans votre navigateur
Articles connexes

Lisez une expression cron champ par champ, voyez ses prochaines exécutions en UTC ou en heure locale et évitez les pièges de pas, de fuseau et de dialecte.

Calculez réseau, masque, plage d’hôtes et broadcast d’un CIDR, agrégez des plages en blocs minimaux et testez une IP, directement dans votre navigateur.

Formatez un Copy as cURL, analysez une requête ou une réponse HTTP brute et lisez un export HAR dans votre navigateur : rien n’est envoyé ni rejoué.