Mode d’emploi : Convertisseur de timestamp Unix
- En haut de la page, le timestamp de l’instant présent s’affiche en temps réel ; vous pouvez le copier en secondes ou en millisecondes.
- Dans Timestamp → date, saisissez un nombre : la date s’affiche en UTC, à l’heure de votre appareil, au format ISO 8601, avec l’écart par rapport à maintenant.
- L’unité est déterminée automatiquement d’après le nombre de chiffres, mais vous pouvez forcer Secondes ou Millisecondes si besoin.
- Dans Date → timestamp, choisissez la date, l’heure et le fuseau horaire (par défaut l’heure de Corée : sélectionnez Fuseau horaire de cet appareil ou UTC selon votre cas) pour obtenir la valeur en secondes et en millisecondes.
Qu’est-ce qu’un timestamp Unix (epoch time) ?
Un timestamp Unix est le nombre de secondes écoulées depuis le 1er janvier 1970 à 00:00:00 UTC. Comme il ne dépend d’aucun fuseau horaire, il a la même valeur partout dans le monde, ce qui explique son usage massif dans les journaux serveur, les bases de données et les réponses d’API.
- 0 → 1970-01-01 00:00:00 UTC (01:00:00 à Paris, Bruxelles ou Genève)
- 1 000 000 000 → 2001-09-09 01:46:40 UTC (03:46:40 heure d’été de Paris)
- 1 700 000 000 → 2023-11-14 22:13:20 UTC (23:13:20 à Paris, 17:13:20 à Montréal)
Différence entre un timestamp à 10 et à 13 chiffres
Un nombre à 10 chiffres est exprimé en secondes, un nombre à 13 chiffres en millisecondes (millièmes de seconde). Sous Linux, en PHP ou en Python, time() renvoie en général des secondes, alors que Date.now() en JavaScript et System.currentTimeMillis() en Java renvoient des millisecondes. Pour passer des millisecondes aux secondes, il suffit de diviser par 1 000.
| Environnement | Obtenir le timestamp actuel | Unité |
|---|---|---|
| JavaScript | Date.now() | millisecondes |
| Python | time.time() | secondes (décimales) |
| Java | System.currentTimeMillis() | millisecondes |
| Shell Linux | date +%s | secondes |
| MySQL | UNIX_TIMESTAMP() | secondes |
Convertir un timestamp en heure locale (France, Belgique, Suisse, Canada)
Un timestamp est toujours exprimé en UTC. Pour obtenir l’heure locale, il faut ajouter le décalage de votre fuseau, en tenant compte de l’heure d’été :
- France, Belgique, Suisse : UTC+1 en hiver (CET), UTC+2 en été (CEST), du dernier dimanche de mars au dernier dimanche d’octobre.
- Québec et Ontario (Montréal, Toronto) : UTC−5 en hiver (HNE), UTC−4 en été (HAE).
- Colombie-Britannique (Vancouver) : UTC−8 en hiver, UTC−7 en été.
Le plus simple est de lire la ligne « Cet appareil » du tableau, qui applique automatiquement le fuseau et l’heure d’été de votre ordinateur ou téléphone.
Dans Excel ou LibreOffice Calc (version française), la formule =(A1/86400)+DATE(1970;1;1) convertit un timestamp en secondes en date UTC : on divise par le nombre de secondes d’une journée (86 400), puis on ajoute le 1er janvier 1970. Ajoutez ensuite +1/24 (hiver) ou +2/24 (été) pour l’heure de Paris, ou -5/24 pour l’heure normale de Montréal. Pensez à appliquer un format date-heure à la cellule.
Qu’est-ce que le bug de l’an 2038 ?
Les anciens systèmes qui stockent le timestamp dans un entier signé de 32 bits atteignent leur valeur maximale, 2 147 483 647, le 19 janvier 2038 à 03:14:07 UTC (04:14:07 à Paris). Au-delà, la valeur devient négative et la date repart en décembre 1901. C’est ce qu’on appelle le bug de l’an 2038. Les systèmes d’exploitation et langages récents utilisent des entiers de 64 bits et ne sont pas concernés.