Analyseur de durée ISO 8601|PnYnMnDTnHnMnS en secondes, minutes et heures
Collez une durée ISO 8601 comme P1Y6M14DT12H30M45S, PT1H30M ou la forme hebdomadaire P1W et obtenez d'un coup le total en secondes, millisecondes, minutes et heures. Chaque composant Y/M/D/H/M/S est isolé, accompagné d'une ligne lisible par un humain.
💡 À propos de cet outil
Dès qu'on touche aux planificateurs de type cron, aux sondes Kubernetes, aux champs format: duration d'OpenAPI ou aux API RFC 3339, des chaînes comme PT30M et P3DT4H reviennent sans cesse. On les lit sans peine, mais répondre à « ça fait combien de secondes au juste ? » de tête est fastidieux, et confondre les limites d'unité Y/M/D décale vite le résultat d'un ordre de grandeur.
Cet analyseur prend la chaîne telle quelle et affiche le total en secondes, millisecondes, minutes et heures dans quatre cartes simultanément. Il décompose aussi la valeur en ses six composants Y·M·D·H·M·S, ce qui rend visible la structure d'ISO 8601 : tout ce qui précède le T relève de la date, tout ce qui suit relève de l'heure. Pour les durées couvrant des mois ou des années, vous pouvez basculer la base « jours par an » entre 365, 365.25 et 366 afin de comparer côte à côte une estimation tenant compte des années bissextiles et une estimation à 365 jours.
🧐 Questions fréquentes
Q. Combien de secondes vaut P1Y (« un an ») ?
Cela dépend de la base de jours par an choisie : 31 536 000 s à 365 jours, 31 557 600 s à 365,25. Les mois sont approximés comme une année divisée par douze.
Q. Pourquoi les années et les mois sont-ils « approximés » ? Les durées ISO 8601 sont nominales et indépendantes du calendrier : un mois réel compte de 28 à 31 jours. S'il vous faut l'écart exact depuis une date de départ précise, utilisez l'arithmétique des dates, pas une conversion à longueur fixe.
Q. La forme hebdomadaire P1W fonctionne-t-elle ?
Oui. P1W se convertit en 7 jours = 604 800 secondes. La forme hebdomadaire s'emploie toutefois seule : impossible de la mêler à d'autres désignateurs comme P1Y2W.
Q. Puis-je saisir des décimales ?
Oui. Les valeurs avec point (ou virgule) décimale, comme PT1.5H ou PT0.5S, sont interprétées.
Q. Les durées négatives (-PT1H) sont-elles prises en charge ?
Non. Une chaîne commençant par un signe moins est rejetée comme une erreur ici.
Q. Que se passe-t-il si j'oublie le T ?
P1M signifie un mois ; PT1M signifie une minute. M désigne les mois dans la partie date et les minutes dans la partie heure : pour des minutes, placez-le donc toujours après le T.
📚 Bonnes pratiques avec la notation de durée ISO 8601
La principale source d'erreur avec ISO 8601 tient à un seul caractère : le T. Comme M vaut « mois » avant lui et « minutes » après, oublier le séparateur transforme silencieusement une minute en un mois entier. Prendre l'habitude d'écrire la partie horaire toujours derrière un T explicite évite la majorité des bugs de configuration.
Quelques réflexes utiles : préférez l'unité la plus petite et des entiers (PT90M plutôt que PT1.5H) quand un système doit relire la valeur, car cela limite les arrondis ; rappelez-vous que la forme hebdomadaire est exclusive et ne se combine pas ; et gardez en tête que les composants année et mois restent des estimations, à réserver aux calculs approximatifs. Pour un écart exact entre deux instants, repassez par un calcul de dates plutôt que par une durée à longueur fixe.