Tiempo/Números

Analizador de duración ISO 8601

Analiza una cadena como "P3Y6M4DT12H30M5S" en un formato legible, o construye una cadena así a partir de años/meses/días/horas/minutos/segundos.


                        

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.

Artículo sobre esta herramienta: ISO 8601 Duration: cómo escribir una duración en formato estándar

Preguntas frecuentes

¿Qué significa una cadena como P3Y6M4DT12H30M5S?

Este es el formato estándar de duración ISO 8601: P significa "period" (periodo), seguido de años/meses/días hasta la letra T, tras la cual vienen horas/minutos/segundos. En este ejemplo, son 3 años, 6 meses, 4 días, 12 horas, 30 minutos y 5 segundos.

¿En qué se diferencia una duración ISO de una duración simple en horas?

A diferencia de las unidades fijas (como en la calculadora de duración), los componentes "años" y "meses" aquí son de calendario y no tienen un número fijo de segundos — su duración exacta depende de las fechas concretas a las que se apliquen.

¿Se admite el formato semanal P4W?

Sí, pero solo al analizar una cadena existente. Al construir tu propia cadena, las semanas deben expresarse en días, ya que ISO 8601 no permite combinar semanas con otros componentes en una sola cadena.

¿Puedo indicar segundos o minutos decimales?

Sí, el estándar permite una parte decimal solo en el último componente de la cadena — por ejemplo, PT1.5S (1,5 segundos) o PT1H30.5M (1 hora 30,5 minutos) son válidos, pero una parte decimal en cualquier otro componente no lo es.

¿Existen duraciones ISO negativas?

El estándar ISO 8601 básico no define un signo para las duraciones, pero algunas implementaciones (incluida esta herramienta) admiten un signo menos inicial para indicar "hace" o una duración invertida — una extensión común, aunque no oficial.

Artículos: Tiempo/Números

Tiempo Unix: por qué las computadoras cuentan el tiempo desde 1970

Por qué el 1 de enero de 1970 se convirtió en el punto de referencia del tiempo para la mayoría de los sistemas informáticos.

Expresiones cron: cómo descifrar un horario de tareas

Cómo descifrar una expresión como */15 * * * * y saber exactamente cuándo se ejecutará la tarea.

Sistemas numéricos: para qué sirven el binario, el octal y el hexadecimal

Por qué el color #FF5733 en CSS se escribe con dígitos hexadecimales en lugar de decimales.

Operaciones bit a bit: cómo funcionan AND, OR y XOR a nivel de bits

En qué se diferencia el AND bit a bit del lógico, y para qué sirve operar sobre bits individuales de un número.

Diferencia entre fechas: por qué contar días es más complicado de lo que parece

Por qué restar fechas de forma ingenua puede dar un resultado incorrecto por culpa de los años bisiestos.

Cálculo de edad: por qué no es una simple resta de años

Por qué restar simplemente los años de nacimiento puede dar una edad un año mayor que la real.

Zonas horarias: por qué UTC no es lo mismo que GMT

Por qué UTC nunca cambia dos veces al año, mientras que la hora de Londres (GMT/BST) sí lo hace.

Calculadora de duración: cómo sumar correctamente horas, minutos y segundos

Por qué al sumar minutos y segundos hay que "llevar" el resto a la siguiente posición, igual que en la suma decimal.

Número de semana: por qué en distintos países las semanas se cuentan diferente

Por qué el 1 de enero a veces pertenece a la semana 52 o 53 del año anterior según el estándar ISO 8601.

Números romanos: cómo funciona un sistema sin cero ni posiciones

Por qué IV significa 4 y no 6, y cómo funciona la regla de resta en los números romanos.

IEEE 754: por qué 0.1 + 0.2 no es igual a 0.3 en el código

Por qué en casi todos los lenguajes de programación 0.1 + 0.2 muestra 0.30000000000000004.

Número en letras: para qué convertir cifras en palabras

Por qué en los documentos bancarios la cantidad se escribe a la vez en cifras y en letras.