Temps/Nombres

Analyseur de durée ISO 8601

Analyser une chaîne comme "P3Y6M4DT12H30M5S" sous une forme lisible, ou construire une telle chaîne à partir d'années/mois/jours/heures/minutes/secondes.


                        

An ISO 8601 duration (e.g. P3Y6M4DT12H30M5S) is a compact, unambiguous way to write a time span, used by many APIs and data formats, but hard to read without parsing it. This tool translates such a string into plain language and lets you build one from separate fields.

How to use it

Common uses

Things to keep in mind

The leading P stands for "period" and is required, just like the T that separates days from hours in the time part.

The base standard doesn't define a sign for durations — negative durations (to mean "ago") are only supported by specific implementations as an unofficial extension.

Article sur cet outil: ISO 8601 Duration : comment écrire une durée dans un format standard

Questions fréquentes

Que signifie une chaîne comme P3Y6M4DT12H30M5S ?

C'est le format standard de durée ISO 8601 : P signifie « period » (période), suivi des années/mois/jours jusqu'à la lettre T, après laquelle viennent les heures/minutes/secondes. Dans cet exemple, ce sont 3 ans, 6 mois, 4 jours, 12 heures, 30 minutes et 5 secondes.

En quoi une durée ISO diffère-t-elle d'une simple durée en heures ?

Contrairement aux unités fixes (comme dans la calculatrice de durée), les composants « années » et « mois » ici sont calendaires et n'ont pas un nombre fixe de secondes — leur durée exacte dépend des dates spécifiques auxquelles ils s'appliquent.

Le format hebdomadaire P4W est-il pris en charge ?

Oui, mais seulement lors de l'analyse d'une chaîne existante. Pour construire votre propre chaîne, les semaines doivent être exprimées en jours, car ISO 8601 ne permet pas de combiner des semaines avec d'autres composants dans une seule chaîne.

Puis-je indiquer des secondes ou des minutes décimales ?

Oui, la norme autorise une partie décimale uniquement sur le dernier composant de la chaîne — par exemple PT1.5S (1,5 seconde) ou PT1H30.5M (1 heure 30,5 minutes) sont valides, mais une partie décimale sur un composant non final ne l'est pas.

Existe-t-il des durées ISO négatives ?

La norme ISO 8601 de base ne définit pas de signe pour les durées, mais certaines implémentations (dont cet outil) prennent en charge un signe moins initial pour indiquer « il y a » ou une durée inversée — une extension courante, bien qu'officieuse.

Articles : Temps/Nombres

Temps Unix : pourquoi les ordinateurs comptent le temps depuis 1970

Pourquoi le 1er janvier 1970 est devenu le point de référence du temps pour la plupart des systèmes informatiques.

Expressions cron : comment déchiffrer un horaire de tâches

Comment déchiffrer une expression comme */15 * * * * et savoir exactement quand la tâche s'exécutera.

Systèmes numériques : à quoi servent le binaire, l'octal et l'hexadécimal

Pourquoi la couleur #FF5733 en CSS est écrite avec des chiffres hexadécimaux plutôt que décimaux.

Opérations bit à bit : comment fonctionnent AND, OR et XOR au niveau des bits

En quoi le AND bit à bit diffère du AND logique, et pourquoi manipuler des bits individuels d'un nombre.

Différence entre dates : pourquoi compter les jours est plus compliqué qu'il n'y paraît

Pourquoi soustraire naïvement deux dates peut donner un résultat incorrect à cause des années bissextiles.

Calcul de l'âge : pourquoi ce n'est pas une simple soustraction d'années

Pourquoi soustraire simplement les années de naissance peut donner un âge supérieur d'un an à l'âge réel.

Fuseaux horaires : pourquoi UTC n'est pas la même chose que GMT

Pourquoi UTC ne change jamais deux fois par an, alors que l'heure de Londres (GMT/BST) change.

Calculatrice de durée : comment additionner correctement heures, minutes et secondes

Pourquoi additionner des minutes et des secondes nécessite de « reporter » le reste sur le rang suivant, comme dans l'addition décimale.

Numéro de semaine : pourquoi les pays comptent les semaines différemment

Pourquoi le 1er janvier appartient parfois à la semaine 52 ou 53 de l'année précédente selon la norme ISO 8601.

Chiffres romains : comment fonctionne un système sans zéro ni position

Pourquoi IV signifie 4 et non 6, et comment fonctionne la règle de soustraction dans les chiffres romains.

IEEE 754 : pourquoi 0.1 + 0.2 n'est pas égal à 0.3 dans le code

Pourquoi presque tous les langages de programmation affichent 0.30000000000000004 pour 0.1 + 0.2.

Nombre en toutes lettres : pourquoi transformer des chiffres en mots

Pourquoi les documents bancaires écrivent un montant à la fois en chiffres et en toutes lettres.