Timestamp Unix : vérifier l’unité avant de croire la date

Un nombre de journal ou d’API peut devenir une date invraisemblable. Souvent, ce sont des secondes lues comme millisecondes, ou l’inverse, plutôt qu’un fuseau mystérieux.

Le nombre exige une unité explicite

Le timestamp mesure depuis 1970-01-01T00:00:00Z. Certains systèmes utilisent les secondes ; Date en JavaScript emploie les millisecondes et ignore les secondes intercalaires.

Multipliez les secondes par 1000 pour obtenir des millisecondes. Le nombre de chiffres n’est pas un contrat fiable, surtout près de l’époque ou avec des valeurs négatives ; consultez la spécification.

Références: MDN — Date timestamps, UTC and milliseconds

Le fuseau change l’affichage, pas l’instant

Un instant peut s’afficher avec plusieurs heures locales sans changer de timestamp. Ajouter un décalage à la main puis afficher dans ce fuseau peut l’appliquer deux fois.

Ce convertisseur utilise UTC et exige Z dans la date saisie. Il ne déduit pas le fuseau de la langue ou du pays ; utilisez une conversion de fuseau pour l’heure locale.

Précision et plage font partie du sens

Une fraction de seconde peut représenter des millisecondes : 1.25 seconde n’est pas 1250 secondes. Gardez la fraction pour classer des événements plus finement qu’à la seconde.

L’outil accepte jusqu’à 3 décimales en secondes ou des millisecondes entières. Il valide les dates au lieu de corriger silencieusement un jour inexistant. Il ne mesure pas les intervalles de secondes intercalaires et ne remplace pas un contrat temporel spécialisé.

Exemple : deux nombres pour le même instant

86400 secondes et 86400000 millisecondes désignent 1970-01-02T00:00:00.000Z. Lire 86400 comme millisecondes donne 1970-01-01T00:01:26.400Z ; ce n’est pas un problème de langue ou de calendrier.

−0.25 seconde correspond à 1969-12-31T23:59:59.750Z. Le signe place l’instant avant l’époque et la fraction est conservée ; négatif ne veut pas dire date invalide.

Références