Convertisseur d’e p o c h : Transformez vos dates facilement

Perdez-vous du temps à convertir des timestamps incompréhensibles ? Un décalage millisecondes/secondes provoque souvent des dates erronées. Ce guide explique la notion d’e p o c h, montre des conversions simples, propose des snippets prêts à copier et signale les pièges courants.

Résultat : conversions fiables et moins de bugs, par exemple obtenir une ISO 8601 correcte en une commande. Commençons par la définition et l’origine Unix de l’e p o c h.

Résumé

  • Définition : l’epoch Unix est le 1970-01-01T00:00:00Z — on compte les secondes écoulées (les secondes intercalaires ne sont pas incluses).
  • Unité : attention aux secondes vs millisecondes — diviser par 1000 ou multiplier par 1000 selon l’API/outil.
  • Exemples rapides : JS Date.now()/new Date(ms).toISOString(); Python datetime.utcfromtimestamp(epoch).isoformat() + ‘Z’; bash date -u -d @SECONDS; PostgreSQL to_timestamp().
  • Pièges courants : oubli du facteur 1000, conversion implicite en heure locale, et bug de l’an 2038 sur systèmes 32 bits.
  • Bonnes pratiques : utiliser ISO 8601 et objets timezone-aware, écrire des tests pour les conversions et migrer vers des entiers 64 bits ou formats textuels quand c’est possible.

Qu’est-ce que l’e p o c h et pourquoi est-ce important ?

e p o c h désigne, en informatique, l’origine temporelle utilisée pour compter les instants : pour la plupart des systèmes POSIX il s’agit du 1er janvier 1970 à 00:00:00 UTC. Mesurez les instants en comptant le nombre de secondes écoulées depuis cette date, sans tenir compte des secondes intercalaires. Cette convention apparaît dans la définition du time_t et facilite l’échange d’horodatages entre systèmes hétérogènes, car elle normalise la référence temporelle. Pour un rappel structuré sur l’époque Unix, consultez la page dédiée sur heure unix.

Comment convertir un timestamp e p o c h en date lisible ?

Pour convertir un timestamp e p o c h en date lisible, vérifiez d’abord l’unité : la plupart des API Web renvoient des millisecondes, tandis que les fonctions système attendent souvent des secondes. Ensuite appliquez une formule simple ou utilisez un outil en ligne si vous voulez tester rapidement.

Formule simple et conversion manuelle (e p o c h : secondes vs millisecondes)

Si votre valeur est en millisecondes, divisez par 1000 pour obtenir des secondes. Pour obtenir une date ISO UTC à partir de secondes, multipliez par 1000 si l’API attend des ms, ou utilisez directement une fonction qui accepte des secondes. Exemple rapide : pour 1610000000 secondes, la transformation manuelle donne 2021-01-07T06:13:20Z.

Utiliser le convertisseur e p o c h intégré et choisir le fuseau horaire

Si vous préférez un outil, saisissez votre valeur (s en ou ms) et sélectionnez le fuseau. Un convertisseur en ligne simple et pratique est disponible sur EpochConverter, qui affiche ISO 8601, UTC et heure locale. Vous gagnez du temps et évitez les erreurs d’unité.

Tableau d’exemples pratiques pour tester vos conversions e p o c h

Voici quelques valeurs fréquemment consultées pour vérification rapide.

date ISO (UTC)epoch (secondes)epoch (millisecondes)
1970-01-01T00:00:00Z00
2000-01-01T00:00:00Z946684800946684800000
2038-01-19T03:14:07Z21474836472147483647000

Exemples de code pour convertir des timestamps e p o c h selon votre environnement

Ci‑dessous des snippets courts prêts à copier. Adaptez l’unité (s vs ms) et précisez UTC si vous voulez une sortie indépendante du fuseau local.

JavaScript (navigateur et serveur) : exemples e p o c h prêts à copier

Obtenir les millisecondes courantes : Date.now() retourne ms selon la plateforme, voir la doc MDN pour précisions. Pour convertir ms en ISO : new Date(ms).toISOString(). Pour convertir secondes en ISO : new Date(seconds * 1000).toISOString(). Pour obtenir secondes entières : Math.floor(Date.now() / 1000). Consultez la référence Date.now().

Python : fonctions courtes pour convertir e p o c h et bonnes pratiques pour serveurs

Pour convertir secondes en ISO UTC : from datetime import datetime; datetime.utcfromtimestamp(epoch).isoformat() + ‘Z’. Si vous avez des millisecondes, faites epoch_ms // 1000. Privilégiez les objets timezone-aware pour journaux et API.

Bash et SQL : commandes et requêtes pour manipuler des timestamps e p o c h en ligne de commande

En ligne de commande Linux : date -u -d @SECONDS affiche la date UTC. Pour PostgreSQL : SELECT to_timestamp(epoch) AT TIME ZONE ‘UTC’;. Sur systèmes qui n’acceptent que des ms, divisez ou multipliez selon le besoin.

Quels pièges éviter et quelles bonnes pratiques appliquer pour les timestamps e p o c h ?

Vérifiez toujours l’unité (secondes vs millisecondes) et le fuseau d’affichage. Beaucoup d’erreurs viennent d’un facteur 1000 oublié ou d’un affichage en heure locale sans conversion explicite. Notez que l’heure Unix ne compte pas les secondes intercalaires, ce qui peut produire de légères divergences si vous comparez à des sources qui les appliquent.

Anticipez le problème de 2038 pour les systèmes 32 bits en auditant les composants qui manipulent time_t et en migrant vers des entiers 64 bits ou des formats textuels ISO 8601. Pour le risque opérationnel et des pistes de mitigation, la documentation sur le bug de l’an 2038 fournit un bon point de départ. Conservez des tests unitaires qui simulent dépassements et gérez clairement les conversions côté client et serveur.

5/5 - (59 votes)

Auteur/autrice

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *