Comment convertir les horodatages Unix en dates lisibles par l'homme
Réponse rapide
Horodatage Unix = secondes (ou millisecondes) depuis le 01/01/1970 00:00:00 UTC. Convertir en date avec new Date(timestamp * 1000) en JavaScript (secondes) ou new Date(timestamp) (millisecondes). Convertissez une date avec Math.floor(date.getTime() / 1000). Utilisez notre convertisseur d'horodatage pour effectuer les deux instantanément dans votre navigateur.
Introduction
Un horodatage Unix (également appelé heure d'époque ou heure POSIX) est le nombre de secondes écoulées depuis le 01/01/1970 à 00:00:00 UTC (l'époque Unix), à l'exclusion des secondes intercalaires. C'est la lingua franca du temps en informatique car il s'agit d'un entier unique indépendant du fuseau horaire et trivialement triable. La plupart des systèmes utilisent des secondes ; JavaScript et de nombreuses bases de données utilisent des millisecondes.
Pas à pas
-
Comprendre les secondes et les millisecondes
La plupart des systèmes backend et APIs utilisent des secondes (horodatages à 10 chiffres jusqu'à 2286). La date de JavaScript et l'instantané de Java utilisent des millisecondes (13 chiffres). Vérifiez toujours quelle unité attend un API : les mélanger décale la date d'un facteur 1 000 (de ~ 31 ans).
-
Convertir un horodatage en une date lisible
Collez l'horodatage dans le convertisseur d'horodatage. Il détecte les secondes par rapport aux millisecondes par longueur (10 contre 13 chiffres) et affiche la date en UTC et votre fuseau horaire local. Dans le code : new Date(1700000000 * 1000).toISOString() renvoie '2023-11-14T22:13:20.000Z'.
-
Convertir une date en horodatage
Entrez une date et une heure dans le convertisseur ; il renvoie l'horodatage Unix. Dans le code : Math.floor(new Date('2026-08-28T12:00:00Z').getTime() / 1000) renvoie les secondes d'époque. Spécifiez toujours le fuseau horaire (Z ou un décalage) pour éviter toute ambiguïté relative à l'heure locale.
-
Gérer correctement les fuseaux horaires
Les horodatages Unix sont toujours au format UTC : ils n'ont pas de fuseau horaire. Convertissez en un affichage local uniquement au niveau de la couche de présentation. Ne stockez jamais l’heure locale comme horodatage ; stocker UTC et convertir à l'écran. Utilisez les noms de fuseau horaire IANA (Amérique/New_York) avec Intl.DateTimeFormat pour une gestion correcte de l'heure d'été.
-
Calculer les différences entre les dates
Soustrayez deux horodatages pour obtenir la différence en secondes (ou millisecondes). Divisez par 60 pour les minutes, 3 600 pour les heures, 86 400 pour les jours. Utilisez notre outil de différence de date pour connaître les plages adaptées aux humains, ou le calculateur d'âge pour les âges basés sur la date de naissance.
Exemples
L'époque Unix
Saisir: 0 (seconds)
Sortir: 01/01/1970 00:00:00 UTC
Un milliard de secondes après l'époque
Saisir: 1000000000 (seconds)
Sortir: 2001-09-09 01:46:40 UTC
Début 2026 en UTC
Saisir: 2026-01-01T00:00:00Z
Sortir: 1767225600 (secondes) / 1767225600000 (millisecondes)
Différence entre deux dates
Saisir: 1767225600 - 1700000000
Sortir: 67225600 seconds = 778.08 days ≥2 years 31 days
Problèmes courants
- Confusion secondes/millisecondes : un horodatage à 10 chiffres lu en millisecondes donne une date en 1970 ; un horodatage à 13 chiffres lu lorsque les secondes débordent d'un entier de 32 bits. Détectez l'unité par nombre de chiffres ou documentez-la explicitement dans le API.
- Stockage de l'heure locale sous forme d'horodatage : les horodatages sont au format UTC. Si vous calculez Date.now() dans un navigateur défini sur UTC-5 et traitez le résultat comme local, les transitions DST décaleront vos données d'une heure deux fois par an.
- Dépassement de 32 bits le 19/01/2038 à 03:14:07 UTC (Y2038) : les systèmes utilisant un horodatage signé de 32 bits en secondes ne peuvent pas représenter les dates après ce point. Utilisez des horodatages de 64 bits ou en millisecondes dans les nouveaux systèmes.
- Les secondes intercalaires sont ignorées : les horodatages Unix sautent les secondes intercalaires, donc la différence entre deux horodatages n'est pas égale au nombre de secondes SI écoulées. La plupart des applications peuvent ignorer cela ; L’astronomie et la finance de haute précision ne le peuvent pas.
Conseils
- Stockez et transmettez toujours les horodatages en UTC ; convertir en heure locale uniquement au niveau de la couche d'affichage à l'aide de Intl.DateTimeFormat avec un fuseau horaire IANA.
- Utilisez des chaînes ISO 8601 (par exemple 2026-08-28T12:00:00Z) pour un APIs lisible par l'homme et des horodatages pour le stockage - les chaînes ISO portent explicitement leur fuseau horaire et sont sans ambiguïté.
- Lorsque vous comparez des horodatages, utilisez la même unité (secondes ou millisecondes) des deux côtés : une incompatibilité d’unité est l’un des bogues de date les plus courants.
- Utilisez notre convertisseur d'horodatage pour vérifier l'intégrité des réponses API pendant le débogage : il affiche à la fois l'heure UTC et l'heure locale afin que vous puissiez repérer immédiatement les bugs de fuseau horaire.