search

Found

info Visão geral

Converte strings de duração ISO 8601 (PnYnMnDTnHnMnS e PnW) em segundos, milissegundos, minutos e horas, com decomposição por componente e forma legível.

📘 Como usar

  1. Digite uma string de duração como P1Y6M14DT12H30M45S no campo
  2. Alterne a base de dias por ano (365 / 365.25 / 366)
  3. Veja o total de segundos, minutos, horas e a decomposição por componente

Analisador de duração ISO 8601

Formato: PnYnMnDTnHnMnS ou PnW (n aceita decimais)

※ P inicia a duração. Após T vêm os componentes de tempo (H/M/S). A forma PnW é isolada e não mistura com outros designadores.

※ Anos e meses são aproximados pelos dias por ano (1 mês = 1 ano / 12). Para diferenças exatas de calendário use aritmética de datas.

Segundos totais
s
Milissegundos totais
ms
Minutos totais
min
Horas totais
h

Componentes

Y
0
M
0
D
0
H
0
M
0
S
0

Forma legível

Copiado!
Article

Analisador de duração ISO 8601|PnYnMnDTnHnMnS para segundos, minutos e horas

Cole uma duração ISO 8601 como P1Y6M14DT12H30M45S, PT1H30M ou a forma semanal P1W e obtenha de uma vez o total em segundos, milissegundos, minutos e horas. Cada componente Y/M/D/H/M/S é separado ao lado de uma linha legível por humanos.

💡 Sobre esta ferramenta

Quem lida com agendadores tipo cron, probes do Kubernetes, campos format: duration do OpenAPI ou APIs RFC 3339 vê strings como PT30M e P3DT4H o tempo todo. Lê-las é simples, mas calcular "afinal, quantos segundos são?" de cabeça é chato, e confundir os limites de unidade Y/M/D joga o resultado uma ordem de grandeza para o lado errado.

Este analisador pega a string como está e mostra o total em segundos, milissegundos, minutos e horas em quatro cartões ao mesmo tempo. Ele também decompõe o valor nos seis componentes Y·M·D·H·M·S, deixando à vista a estrutura do ISO 8601: tudo antes do T é a parte de data e tudo depois é a parte de hora. Para durações que cruzam meses ou anos, dá para alternar a base de "dias por ano" entre 365, 365.25 e 366 e comparar lado a lado uma estimativa com ano bissexto e outra de 365 dias.

🧐 Perguntas frequentes

P. Quantos segundos são P1Y ("um ano")? Depende da base de dias por ano escolhida: 31.536.000 s com 365 dias e 31.557.600 s com 365,25. Os meses são aproximados como um ano dividido por doze.

P. Por que anos e meses são "aproximados"? As durações ISO 8601 são nominais e independentes do calendário — um mês real vai de 28 a 31 dias. Se você precisa da diferença exata a partir de uma data inicial específica, use aritmética de calendário, e não uma conversão de comprimento fixo.

P. A forma semanal P1W funciona? Sim. P1W é convertida como 7 dias = 604.800 segundos. A forma semanal, porém, deve ser usada sozinha; não dá para misturá-la com outros designadores como P1Y2W.

P. Posso inserir decimais? Sim. Valores com ponto (ou vírgula) decimal, como PT1.5H ou PT0.5S, são interpretados.

P. Durações negativas (-PT1H) são suportadas? Não. Uma string que começa com sinal de menos é rejeitada como erro aqui.

P. O que acontece se eu esquecer o T? P1M significa um mês; PT1M significa um minuto. M representa meses na parte de data e minutos na parte de hora, então, se você quer minutos, coloque-o sempre depois do T.

📚 Onde a duração ISO 8601 aparece no dia a dia

No desenvolvimento, o formato de duração ISO 8601 surge em mais lugares do que parece: intervalos de retry, timeouts de pipeline e metadados de mídia. A YouTube Data API, por exemplo, devolve contentDetails.duration em strings como PT4M13S, e ferramentas de infraestrutura aceitam intervalos no mesmo padrão. Saber ler e converter esses valores rápido poupa idas e vindas na documentação.

O detalhe que mais pega é o T: como M vale "mês" antes dele e "minutos" depois, esquecer o separador transforma silenciosamente um minuto em um mês inteiro. Por isso, ao receber uma string de configuração de uma biblioteca de fora, converter para segundos puros de uma só vez é a forma mais rápida de conferir o valor antes de colocá-lo em produção — e de evitar que um P1M no lugar de PT1M derrube um agendamento.