JavaScript Snippets

Extraits de timestamp Unix en JavaScript

Exemples JavaScript pour obtenir le timestamp actuel, convertir des secondes ou millisecondes Unix en objets Date et formater la sortie avec les API intégrées du navigateur.

Current Unix timestamp (seconds)
Math.floor(Date.now() / 1000)
Current Unix timestamp (milliseconds)
Date.now()
Timestamp from a Date object
new Date().getTime()
// or
+new Date()
Date object from Unix timestamp (seconds)
new Date(1700000000 * 1000)
ISO 8601 string from timestamp
new Date(1700000000 * 1000).toISOString()
// → "2023-11-15T06:13:20.000Z"
Formatted local string
new Date(1700000000 * 1000).toLocaleString()
new Date(1700000000 * 1000).toLocaleString("en-US", { timeZone: "America/New_York" })

Bases des horodatages en JavaScript

JavaScript Date stocke le temps en millisecondes depuis l'époque Unix. Utilisez Date.now() quand vous avez besoin de millisecondes et Math.floor(Date.now() / 1000) quand une API attend des secondes Unix.

Conversions JavaScript courantes

Pour convertir un horodatage Unix en secondes vers un Date, multipliez par 1000 avant d'appeler new Date(). Utilisez toISOString() pour une sortie UTC, toUTCString() pour une sortie de style HTTP et Intl.DateTimeFormat quand vous avez besoin d'un fuseau précis.

Notes de production pour JavaScript

Les bugs d'horodatage en JavaScript viennent généralement du mélange des millisecondes de Date avec les secondes de l'API. Gardez les objets Date en bordure de l'interface et ne faites transiter par les API que des nombres simples ou des chaînes ISO une fois l'unité explicite. Pour afficher l'heure locale, utilisez Intl.DateTimeFormat avec un fuseau nommé afin que le résultat soit reproductible d'un navigateur et d'un serveur à l'autre.

  • Utilisez Date.now() quand vous avez besoin de millisecondes epoch pour des minuteurs, des événements d'analytique ou le stockage du navigateur
  • Utilisez Math.floor(Date.now() / 1000) quand un point de terminaison backend attend des secondes Unix
  • Utilisez new Date(seconds * 1000) quand une API envoie des secondes
  • Utilisez toISOString() pour des chaînes UTC capables de faire l'aller-retour via JSON

Références JavaScript associées

FAQ

Date.now() renvoie-t-il des secondes Unix ?
Non. Date.now() renvoie des millisecondes. Divisez par 1000 et arrondissez vers le bas quand une API, une base de données ou un outil en ligne de commande attend des secondes Unix.
Dois-je stocker des objets Date en JSON ?
Non. Convertissez d'abord la valeur en nombre ou en chaîne ISO 8601. JSON n'a pas de type Date natif, donc des valeurs explicites sont plus faciles à déboguer et à comparer.