Le timestamp Unix est le format universel de représentation du temps en informatique. Que vous analysiez des logs serveur, développiez une API, ou travailliez avec des bases de données, la conversion entre timestamps et dates lisibles est une opération quotidienne pour tout développeur.
Comprendre le Timestamp Unix
Le timestamp Unix compte le nombre de secondes (ou millisecondes) écoulées depuis le 1er janvier 1970 à 00:00:00 UTC, appelé l'Epoch Unix. C'est un entier simple, universel et non ambigu : il ne dépend d'aucun fuseau horaire et élimine les problèmes de format de date.
Cas d'usage
Analyse de logs
Les logs serveur utilisent souvent des timestamps Unix. Convertissez-les pour comprendre quand les événements se sont produits.
Développement d'API
Les claims JWT (exp, iat, nbf), les webhooks et de nombreuses APIs retournent des timestamps Unix.
Base de données
Stockez les dates en timestamp pour un tri et des comparaisons plus efficaces.
Cron et scheduling
Calculez le prochain timestamp d'exécution pour vos tâches planifiées.
Exemples concrets
| Entrée | Résultat |
|---|---|
| 0 | 1 janvier 1970 00:00:00 UTC |
| 1700000000 | 14 novembre 2023 |
| 1700000000000 | 14 novembre 2023 |
| 2000000000 | 18 mai 2033 |
Erreurs fréquentes
❌ Confondre secondes et millisecondes
✅ JavaScript utilise des ms (Date.now()), Unix/PHP utilisent des secondes (time()). Divisez ou multipliez par 1000.
❌ Ignorer les fuseaux horaires
✅ Le timestamp est TOUJOURS en UTC. La conversion en heure locale dépend du fuseau de l'utilisateur.
❌ Le problème Y2K38
✅ Les timestamps 32 bits dépasseront le 19 janvier 2038. Utilisez des entiers 64 bits.
Conseils d'expert
- 💡JavaScript : Date.now() retourne des millisecondes, Math.floor(Date.now()/1000) pour des secondes
- 💡Python : import time; time.time() retourne un float en secondes
- 💡SQL : UNIX_TIMESTAMP() pour MySQL, EXTRACT(EPOCH FROM NOW()) pour PostgreSQL
- 💡Un jour = 86400 secondes, une heure = 3600 secondes