Duraciones ISO 8601
El formato ISO escribe una duración como P seguida de partes de fecha y, tras una T, partes de tiempo: P1Y2M3DT4H5M6S es un año, dos meses, tres días, cuatro horas, cinco minutos y seis segundos. Las semanas tienen su propia forma, P2W. Las partes pueden omitirse (PT30M, P1D) y la última puede tener decimales (PT0.5S). La T es lo que distingue meses de minutos: P1M es un mes, PT1M un minuto.
Te lo encuentras en iCalendar (DURATION:PT1H), en metadatos de YouTube y schema.org, en manifiestos de Kubernetes, en Duration.parse de Java, en XmlConvert de .NET y en muchas API REST. Los años y los meses no tienen longitud fija, así que una duración que los contenga no puede convertirse a segundos con exactitud; esta herramienta usa el año medio (365,25 días) y el mes medio (30,4375 días) y lo indica.
Otras notaciones
| Forma | Ejemplo | Dónde |
|---|---|---|
| Segundos | 5400 | Herramientas Unix, TTL, tiempos de espera en la mayoría de archivos de configuración |
| Milisegundos | 5400000 | JavaScript, Java, registros |
| Reloj | 1:30:00 | Reproductores multimedia, hojas de cálculo, ffmpeg |
| Estilo Go | 1h30m, 500ms, 1.5h | Go, Prometheus, Docker, Caddy, muchas CLI |
| systemd | 1h 30min, 90min, 2 days | Temporizadores y opciones de unidad de systemd |
| ISO 8601 | PT1H30M | APIs, iCalendar, Java, .NET |
Trampas
1:30significa 1 minuto 30 segundos en los reproductores multimedia y 1 hora 30 minutos en las hojas de cálculo. La herramienta leeh:mm:sscuando hay dos dos puntos yh:mmcon uno; añade los segundos para no ser ambiguo.time.ParseDurationde Go no tiene unidad de día;24hes la mayor. systemd aceptad,w,monthyy.- Una duración en meses no es un número de segundos. Guárdala como cadena ISO si importa el significado de calendario (periodos de facturación), o como segundos si importa el tiempo transcurrido (tiempos de espera).
Preguntas
¿Cuántos segundos hay en una hora, un día, una semana?
3.600 en una hora, 86.400 en un día, 604.800 en una semana. Un mes de 30 días son 2.592.000 y un año de 365 días 31.536.000 segundos.
¿Qué significa PT1H30M?
Una duración ISO 8601 de 1 hora 30 minutos. P inicia la duración, T separa la parte de tiempo, H y M son horas y minutos.
¿Cómo convierto milisegundos a minutos?
Divide entre 60.000. 90.000 ms son 1,5 minutos. Escribe el valor con ms (90000ms) y la herramienta muestra todas las unidades.
¿Cuánto dura un mes en segundos?
Depende del mes: de 28 a 31 días, es decir, de 2.419.200 a 2.678.400 segundos. Como promedio, 30,4375 días (2.629.800 s) es el mes gregoriano medio, que es lo que usa este conversor para P1M.