Convertisseur de Timestamp Unix

Collez un epoch en secondes, millisecondes, microsecondes ou nanosecondes et voyez la date dans votre fuseau, en UTC et en ISO 8601. L'unité est détectée d'après le nombre de chiffres. Vous pouvez aussi coller une date pour obtenir son epoch.

Timestamp actuel

Aucune valeur pour l'instant

Collez un timestamp ou une date dans le champ. Tous les formats apparaissent ici immédiatement, chacun avec un bouton de copie.

Unité
Fuseau horaire de la date

Date en timestamp

Choisissez une date et une heure. L'epoch est calculé dans le fuseau UTC, celui sélectionné plus haut.

Ajouter ou retirer du temps, utile pour des données de test avec des dates passées ou futures

Convertir des lignes de log

Collez des lignes de log, de JSON ou de CSV. Chaque nombre de 10, 13, 16 ou 19 chiffres devient une date ISO 8601 dans le fuseau UTC. Les lignes restent dans votre navigateur.

Le timestamp vient du exp, iat ou nbf d'un JWT ? Le décodeur affiche le token entier et indique s'il a expiré.

Décoder le JWT

Besoin seulement d'une date en ISO String ou en chaîne UTC ? Le convertisseur de format de date le fait en un clic.

Formater une date

Le timestamp dans le code

Comment obtenir le timestamp actuel et convertir dans les deux sens dans les langages courants.

// Now, in seconds and in milliseconds
Math.floor(Date.now() / 1000); // 1790254800
Date.now();                    // 1790254800123

// Epoch to date (Date expects milliseconds)
new Date(1790254800 * 1000).toISOString();

// Date to epoch in seconds
Math.floor(new Date("2026-09-24T10:00:00-03:00").getTime() / 1000);

Qu'est-ce qu'un timestamp Unix

Un timestamp Unix, ou epoch, est le nombre de secondes écoulées depuis le 1er janvier 1970 à 00:00:00 UTC, sans compter les secondes intercalaires. Le même nombre désigne le même instant partout dans le monde. C'est pour cela qu'on le trouve dans les colonnes de base de données, les logs, les files de messages, les réponses d'API et les claims exp, iat et nbf d'un JWT. Le fuseau horaire n'intervient qu'au moment d'afficher la date à une personne.

Secondes, millisecondes, microsecondes ou nanosecondes

L'unité n'est pas écrite dans le nombre. Pour les dates entre 2001 et 2286, le nombre de chiffres suffit : chaque unité plus fine ajoute 3 chiffres. C'est ainsi que ce convertisseur détecte l'unité.

ChiffresUnitéExempleOù on le trouve souvent
10Secondes1790254800time() en PHP, int(time.time()) en Python, exp du JWT, EXTRACT(EPOCH) de PostgreSQL, propriété timestamp de RabbitMQ
13Millisecondes1790254800000Date.now() en JavaScript, System.currentTimeMillis() en Java, timestamp des enregistrements Kafka, SentTimestamp de SQS
16Microsecondes1790254800000000UNIX_MICROS de BigQuery, time.time_ns() // 1000 en Python, tracing
19Nanosecondes1790254800000000000UnixNano() en Go, time.time_ns() en Python, InfluxDB et métriques

UTC et heure locale

Un timestamp n'a pas de fuseau. C'est l'affichage qui en applique un : new Date(ms).toISOString() affiche l'UTC et toLocaleString() utilise le fuseau du navigateur. Deux ordinateurs dans des fuseaux différents affichent donc des heures différentes pour la même valeur. Quand une date est décalée d'un nombre entier d'heures, c'est presque toujours de l'UTC lu comme heure locale, ou l'inverse.

Une date en 1970 ou des milliers d'années plus tard

Les deux symptômes viennent de la même confusion d'unité. Une valeur en secondes passée à new Date() en JavaScript, qui attend des millisecondes, devient janvier 1970. Un Date.now() stocké dans un champ que le backend lit en secondes devient une date des dizaines de milliers d'années plus tard. Convertir le nombre ici montre tout de suite lequel des deux s'est produit.

Heure d'été et dates anciennes

Les règles des fuseaux horaires changent avec le temps. Le Brésil, par exemple, a appliqué l'heure d'été jusqu'en février 2019 ; pendant ces périodes, São Paulo était à UTC−2 au lieu de UTC−3. Un système qui convertit les dates anciennes avec un décalage fixe se trompe d'une heure pour tout ce qui tombait en été. La base de fuseaux IANA, utilisée ici et par les navigateurs, garde les règles de chaque année, et le résultat est signalé quand la date tombe à l'heure d'été.

Le problème de l'an 2038

Le plus grand entier signé sur 32 bits est 2147483647, soit le 19/01/2038 à 03:14:07 UTC. Une seconde plus tard, les systèmes qui stockent l'epoch sur 32 bits repartent en 1901. Le type TIMESTAMP de MySQL a cette limite. Les colonnes BIGINT et les langages avec des entiers 64 bits ne l'ont pas, et ce convertisseur accepte des dates bien après 2038.

Timestamp négatif

Les valeurs négatives sont des dates avant 1970 : −86400 correspond au 31/12/1969 en UTC. Les dates de naissance et les archives peuvent en produire, et certaines bases de données et bibliothèques anciennes les refusent. Mieux vaut en prévoir un dans les données de test.

Début et fin du jour dans un autre fuseau

Le 24 septembre à São Paulo commence à 03:00 UTC, pas à minuit UTC. Un filtre BETWEEN construit avec le début du jour en UTC renvoie des lignes du mauvais jour. Le tableau de début et de fin de ce convertisseur utilise le fuseau choisi, et la fin d'une période est la dernière milliseconde avant la suivante.

Questions fréquentes sur le timestamp Unix

Unités, fuseaux horaires et les erreurs de date les plus courantes dans les logs et les API.