Timestamp Unix & Époque en JavaScript
Maîtrisez la génération, l'analyse, la conversion et le formatage des timestamps Unix avec fuseaux horaires en JavaScript.
Un timestamp Unix représente le nombre total de secondes (ou millisecondes) écoulées depuis l'époque Unix : le 1er janvier 1970 à 00:00:00 UTC. En JavaScript, bien distinguer les secondes des millisecondes est indispensable lors d'échanges avec des API externes.
Démarrage rapide#
En JavaScript, Date.now() renvoie l'heure actuelle en millisecondes :
Convertir un Timestamp en chaîne ISO 8601#
Pour transformer un timestamp numérique en date ISO lisible, passez les millisecondes au constructeur Date :
Formater avec les fuseaux horaires via Intl#
Les objets Date sont stockés en UTC. Utilisez Intl.DateTimeFormat pour afficher la date dans un fuseau horaire précis :
Détection automatique Secondes vs Millisecondes#
Les API Python, Go ou PHP renvoient généralement des timestamps à 10 chiffres (secondes), tandis que JavaScript utilise 13 chiffres (millisecondes) :
Bonnes pratiques#
- Nommez explicitement vos variables : Utilisez
timestampSecoutimestampMspour éviter toute confusion de facteur 1000. - Stockez toujours en UTC : Conservez les timestamps bruts dans vos bases de données pour prévenir les ambiguïtés d'heure d'été/d'hiver.
- Utilisez BigInt pour les microsecondes : Pour les précisions élevées, exploitez
process.hrtime.bigint().