Texte et code / Guides

Secondes Unix, date ISO et décalage horaire : un instant

Un nombre et une date écrite peuvent désigner le même instant. Les erreurs courantes viennent de l'unité ou de l'absence de fuseau.

Instant, heure affichée et unité

Un timestamp Unix compte les secondes depuis l'époque Unix, soit 1970-01-01 00:00:00 UTC. Une date-heure de style ISO écrit les champs du calendrier et, lorsqu'elle désigne un instant, inclut un décalage tel que Z ou +01:00. Une heure locale sans fuseau ne désigne pas un instant unique. Vérifiez aussi l'unité: les API du navigateur et JavaScript Date emploient souvent des millisecondes, soit un nombre mille fois plus grand que les secondes Unix pour le même moment. L'outil Unix de MultiVerto attend des secondes et accepte trois décimales au plus pour les millisecondes. Il affiche le résultat en UTC avec Z, rendant explicite la référence utilisée.

Un nouvel an vu par deux horloges

Saisissez 1704067200 dans le convertisseur intégré. Cela représente 2024-01-01T00:00:00.000Z. Le même instant peut s'écrire 2024-01-01T01:00:00+01:00: l'horloge locale avance d'une heure et soustraire son décalage positif ramène à minuit UTC. Collez cette forme avec décalage dans l'outil ISO vers Unix lié; il restitue 1704067200. La date 2024-01-01T01:00:00Z serait au contraire un instant une heure plus tard. Les chiffres du calendrier ne suffisent pas sans suffixe. Ce couple de valeurs est un test de régression pratique pour les journaux et échanges entre API.

Trois représentations pour le même instant.
  1. Unix : 1704067200 secondes
  2. UTC : 2024-01-01T00:00:00.000Z
  3. Décalage : 2024-01-01T01:00:00+01:00

Secondes, millisecondes et fractions

Si une API retourne une valeur d'époque contemporaine d'environ treize chiffres, lisez son contrat pour savoir s'il s'agit de millisecondes; la longueur seule ne permet pas d'identifier l'unité pour toutes les dates. Divisez les millisecondes par 1000 en conservant la fraction nécessaire. Par exemple, 1704067200500 millisecondes valent 1704067200.5 secondes, soit 00:00:00.500Z dans l'exemple. MultiVerto accepte trois chiffres maximum après le point et produit une date ISO à la milliseconde. Pour des microsecondes ou nanosecondes, employez un outil prévu pour cette précision avant tout arrondi. Arrondir trop tôt peut masquer l'ordre de deux événements proches.

Un décalage n'est pas un fuseau

Un décalage numérique indique le lien entre heure locale et UTC pour l'instant considéré. Il ne nomme pas une région et ne conserve pas ses futures règles d'heure d'été. Un rendez-vous récurrent à 09:00 dans une ville demande une base de données de fuseaux, pas un +01:00 fixé définitivement. MultiVerto exige un décalage explicite ou Z pour passer d'ISO à Unix, évitant l'interprétation d'une heure locale ambiguë. Le format accepté comprend une date complète, l'heure avec secondes et trois décimales au plus. Les dates impossibles et la seconde intercalaire 60 sont refusées. Il s'agit d'un sous-ensemble volontaire de notations plus larges.

Un contrôle aller-retour fiable

Notez la valeur fournie, son unité en secondes ou millisecondes et le décalage indiqué par sa source. Convertissez le nombre en date ISO UTC, puis inversez cette chaîne exacte et comparez les secondes. Testez aussi une autre écriture munie d'un décalage explicite pour le même instant. Une différence exactement égale à 3600 secondes suggère une erreur d'une heure; un facteur 1000 évoque une confusion d'unité. Ne modifiez pas un instant enregistré simplement pour faire ressembler l'heure affichée à votre horloge locale. Stockez l'instant sans ambiguïté et adaptez sa présentation uniquement au moment où l'utilisateur le consulte.

Essayer le convertisseur

Convertissez des secondes Unix en ISO UTC, puis vérifiez le retour.

Convertissez les secondes Unix depuis 1970-01-01 UTC en date et heure ISO 8601 UTC.

Ouvrir le convertisseur complet

Autres guides

Guides de conversion

Explorer les guides