Convertisseur Timestamp
Convertir les timestamps Unix en dates lisibles et vice versa.
// Get current Unix timestamp (seconds)const timestamp = Math.floor(Date.now() / 1000);// Get current timestamp (milliseconds)const timestampMs = Date.now();// Convert timestamp to Dateconst date = new Date(timestamp * 1000);// Convert Date to timestampconst ts = Math.floor(date.getTime() / 1000);
Vous aimerez aussi
Qu'est-ce qu'un horodatage Unix ?
Un horodatage Unix (aussi appelé temps Epoch ou temps POSIX) est le nombre de secondes écoulées depuis le 1er janvier 1970, 00:00:00 UTC - un moment connu comme l'"Epoch Unix".
En ce moment, pendant que vous lisez ceci, l'horodatage est un nombre comme 1705312800.
Pourquoi le 1er janvier 1970 ? Quand Unix était en développement au début des années 1970, les créateurs avaient besoin d'un point de départ. Ils ont choisi une date récente et ronde. Les premiers systèmes Unix ne pouvaient de toute façon pas compter très loin dans le passé !
Pourquoi est-ce important pour vous ?
- Les horodatages sont indépendants du langage - chaque langage de programmation les comprend
- Ils sont indépendants du fuseau horaire - toujours en UTC
- Faciles à comparer et calculer les différences de temps
- Utilisés partout : bases de données, APIs, fichiers journaux, cookies
Formats d'horodatage
| Format | Unité | Exemple | Usage courant |
|---|---|---|---|
| Unix (secondes) | Secondes | 1705312800 | La plupart des APIs, bases de données |
| Unix (millisecondes) | Millisecondes | 1705312800000 | JavaScript, Java |
| Unix (microsecondes) | Microsecondes | 1705312800000000 | Journaux haute précision |
Vérification rapide : Si le nombre a 10 chiffres, ce sont des secondes. S'il en a 13, ce sont des millisecondes. Le Date.now() de JavaScript retourne des millisecondes !
Horodatages mémorables
🎉 Jalons de l'Epoch Unix
| Horodatage | Date | Événement |
|---|---|---|
0 | 1er jan 1970 | Le début du temps Unix |
1000000000 | 9 sep 2001 | Premier horodatage à 10 chiffres |
1234567890 | 13 fév 2009 | "Fête Epoch" célébrée mondialement |
2147483647 | 19 jan 2038 | ⚠️ Problème Y2K38 |
⚠️ Le problème de l'an 2038
Beaucoup d'anciens systèmes stockent les horodatages comme entiers signés 32 bits, qui atteignent leur maximum à 2147483647 (19 janvier 2038, 03:14:07 UTC).
Après ce moment, ces systèmes vont "déborder" et penser qu'on est le 13 décembre 1901 !
La plupart des systèmes modernes utilisent des entiers 64 bits, qui ne déborderont pas avant 292 milliards d'années.
Horodatages et fuseaux horaires
La beauté de l'UTC
Les horodatages Unix sont toujours en UTC. Cela résout le casse-tête des fuseaux horaires :
Horodatage : 1705312800
= 15 jan 2024 10:00:00 UTC
= 15 jan 2024 11:00:00 CET (Paris)
= 15 jan 2024 05:00:00 EST (New York)
= 15 jan 2024 19:00:00 JST (Tokyo)
Même nombre, heures locales différentes. Quand vous travaillez avec des horodatages :
- Stockez tout en horodatages UTC
- Convertissez en heure locale uniquement pour l'affichage
- Acceptez les entrées utilisateur dans leur fuseau, convertissez immédiatement en UTC
Erreur courante : Supposer qu'un horodatage est dans votre fuseau horaire local. Ce n'est pas le cas - c'est toujours UTC !
Conseils pratiques de conversion
Calcul mental rapide
- 1 jour = 86 400 secondes
- 1 semaine = 604 800 secondes
- 1 mois ≈ 2 592 000 secondes (30 jours)
- 1 an ≈ 31 536 000 secondes
Opérations courantes :
// Horodatage actuel
Math.floor(Date.now() / 1000)
// Ajouter 1 jour
timestamp + 86400
// Soustraire 1 semaine
timestamp - 604800