WikiPlus

Convertir des timestamps ISO 8601 et UTC en ligne

Les systèmes informatiques modernes utilisent plusieurs représentations de date et heure : ISO 8601 dans les APIs REST, UTC dans les logs serveur, heure locale dans les interfaces utilisateur, et timestamps Unix dans les bases de données. Convertir rapidement entre ces formats sans erreur de fuseau horaire est un besoin quotidien pour les développeurs et administrateurs système. Le Convertisseur de Timestamp de WikiPlus gère tous ces formats simultanément, avec une gestion précise de l'heure d'été et des offsets UTC.

ISO 8601 : le standard international pour les dates et heures

ISO 8601 est la norme internationale qui définit un format de date et heure non ambigu. Sa forme complète est YYYY-MM-DDTHH:MM:SS±HH:MM, où le T sépare la date de l'heure et le suffixe indique l'offset UTC. Le Z final (comme dans 2026-05-12T14:30:00Z) signifie UTC (offset zéro). Les offsets positifs et négatifs indiquent des fuseaux horaires spécifiques : +02:00 pour l'Europe centrale en été, -05:00 pour l'EST américain. La notation sans offset (2026-05-12T14:30:00) est ambiguë — elle peut être interprétée comme locale ou UTC selon l'implémentation. ISO 8601 est utilisé par défaut dans JavaScript (`new Date().toISOString()`), les APIs GitHub, Stripe, AWS, Twilio et la quasi-totalité des frameworks web modernes. C'est le format recommandé pour tout système qui doit être interopérable à l'échelle internationale.

UTC vs heure locale : comprendre la différence fondamentale

UTC (Coordinated Universal Time) est le temps de référence mondial, défini par les horloges atomiques et légèrement ajusté par des secondes intercalaires pour rester synchronisé avec la rotation de la Terre. Il n'a pas d'heure d'été et ne varie jamais. Tous les fuseaux horaires sont définis comme un offset positif ou négatif par rapport à UTC. L'heure locale est UTC plus l'offset du fuseau horaire de votre région, qui varie selon l'heure d'été. Paris est UTC+1 en hiver et UTC+2 en été. New York est UTC-5 en hiver et UTC-4 en été. Tokyo est UTC+9 toute l'année (pas d'heure d'été). Un serveur configuré en UTC enregistre les événements sans ambiguïté ; convertir ces logs vers l'heure locale d'un utilisateur est une opération de présentation qui ne doit jamais être effectuée côté serveur, mais côté client avec la timezone de l'utilisateur.

Fuseaux horaires et heure d'été : les pièges à éviter

La gestion des fuseaux horaires et de l'heure d'été est la source de nombreux bugs subtils dans les applications. Voici les erreurs les plus fréquentes. Stocker l'heure locale plutôt qu'UTC : si vous stockez « 2026-03-29T02:30:00 » sans offset, cet instant n'existe pas en France (l'heure passe de 2h à 3h lors du changement d'heure). Calculer des durées avec des heures locales : une « journée » du 29 mars peut durer 23 heures en France. Comparer des timestamps de serveurs dans des fuseaux différents sans normalisation UTC. Ignorer que certains pays n'ont pas d'heure d'été (Japon, Chine, Inde). Le Convertisseur de Timestamp affiche simultanément UTC et l'heure locale pour vous permettre de vérifier visuellement qu'une conversion est cohérente et de détecter ces anomalies avant qu'elles ne causent des incidents en production.

Formats RFC 3339 et les différences avec ISO 8601

RFC 3339 est un profil d'ISO 8601 utilisé dans les protocoles Internet (email MIME, flux Atom, format de date HTTP). Il est très similaire à ISO 8601 mais impose quelques restrictions : l'offset doit être explicite (Z ou ±HH:MM, jamais implicite), le séparateur T entre date et heure est obligatoire, et les semaines (format W) ne sont pas autorisées. En pratique, la différence est imperceptible dans la plupart des usages courants. Le format de date HTTP (RFC 7231) est différent : il utilise un format anglais verbeux comme « Mon, 12 May 2026 14:30:00 GMT » pour les en-têtes Last-Modified et If-Modified-Since. Le Convertisseur de Timestamp de WikiPlus supporte la lecture de tous ces formats en entrée et génère des sorties dans les formats courants, permettant de passer d'un contexte protocolaire à un autre sans effort.

Questions fréquemment posées

Quelle est la différence entre UTC et GMT ?
UTC et GMT (Greenwich Mean Time) sont souvent utilisés comme synonymes mais diffèrent techniquement. GMT est défini par la rotation de la Terre et peut varier légèrement. UTC est défini par des horloges atomiques et ajusté par des secondes intercalaires. Dans la pratique, la différence est inférieure à 1 seconde et inexistante pour la quasi-totalité des applications informatiques.
Comment valider un format de date ISO 8601 ?
Une date ISO 8601 valide suit le format YYYY-MM-DD (date seule) ou YYYY-MM-DDTHH:MM:SS[.fff]Z|±HH:MM (date et heure). La regex basique est `^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2}))?$`. En JavaScript, `new Date(str)` retourne Invalid Date si le format est invalide.
Comment gérer les dates avant l'epoch Unix (avant 1970) ?
Les timestamps Unix peuvent être négatifs pour les dates antérieures au 1er janvier 1970. Par exemple, le 1er janvier 1960 correspond au timestamp -315619200. JavaScript, Python et la plupart des langages modernes supportent les timestamps négatifs. Le Convertisseur de Timestamp de WikiPlus les gère correctement via l'objet Date JavaScript.