ForHosting KIT · Datas e tempo

Somar duas durações ISO 8601

Digite duas durações ISO 8601 e receba a soma como uma única duração limpa: P1W mais P3D dá P10D, porque cada semana vira sete dias. Segundos, minutos, horas e meses são transportados, e unidades zeradas somem. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Duração 1
P1Y2M3DT4H5M6S
Duração 2
P2Y1M10DT1H55M54S
Você obtém
Sum
P3Y3M13DT6H1M
Anos
3
Meses
3
Dias
13

Strings de duração ISO 8601 como P1Y2M3DT4H5M6S aparecem em APIs, calendários, acordos de nível de serviço e arquivos de configuração sempre que um intervalo de tempo deve ser escrito sem ancorar a uma data de calendário. Somar duas dessas strings à mão é propenso a erros: semanas precisam virar dias, segundos precisam carregar para minutos e meses para anos, sem inventar uma conversão de dias em meses que dependa de uma data de início. Esta calculadora para somar duas durações ISO 8601 aceita duas strings não negativas, analisa cada designador em ordem fixa, expande semanas em blocos de sete dias, soma cada componente e devolve uma duração normalizada mais os campos de ano, mês, dia, hora, minuto e segundo.

O que significa somar durações ISO 8601

Uma duração ISO 8601 descreve um comprimento de tempo com os designadores Y para anos, M para meses, W para semanas, D para dias e, após um marcador T, H para horas, M para minutos e S para segundos. Valores típicos incluem P1Y para um ano, P2M15D para dois meses e quinze dias, PT1H30M para noventa minutos escritos como uma hora e trinta minutos, e a forma completa P1Y2M3DT4H5M6S. Somar duas durações é um problema componente a componente: anos somam a anos, meses a meses, e assim por diante.

Semanas são expandidas em dias com o fator fixo sete, de modo que P1W mais P3D vira P10D em vez de uma string mista de semanas e dias. Após a soma, o motor normaliza por carregamento os campos de tempo e mês com regras inteiras determinísticas: sessenta segundos viram um minuto, sessenta minutos uma hora, vinte e quatro horas um dia e doze meses um ano.

Dias nunca são convertidos em meses porque a duração do mês depende de uma data de início de calendário que esta ferramenta deliberadamente não recebe. O resultado é uma string canônica que omite designadores zero, usa P0D quando todos os componentes são zero e nunca emite um T isolado sem campos de tempo.

Onde combinar duas durações ISO vale a pena

Equipes de produto e plataforma combinam períodos de locação, extensões de trial e janelas de manutenção já armazenados como durações ISO em sistemas de configuração ou faturamento; somar P1Y a P3M deve resultar em P1Y3M sem aproximações de dias em ponto flutuante. Educadores e autores de documentação demonstram a aritmética de durações ao lado de tabelas RFC e ISO sem números seriais de planilha que silenciosamente incluem hora do dia.

Scripts de operações mesclam janelas de retenção de backup ou backoffs de retry expressos como strings PnD e PTnH de duas fontes e gravam um único valor normalizado em um registro. Mantenha ambas as strings pequenas, fixe sum e os campos de componentes nos testes, e você obtém soma de durações reproduzível para deveres, plugins LMS, edge workers e landings do catálogo que ranqueiam por somar duas durações ISO 8601 sem montar uma biblioteca de calendário completa.

Faturamento e extensões de trial

Some a duração base de uma assinatura a uma janela de extensão (por exemplo P1Y mais P1M) e armazene a soma normalizada na configuração ou nas faturas.

Mesclar janelas de retenção e SLA

Combine duas durações de política de sistemas diferentes em uma string canônica PnYnMnDTnHnMnS para registros e runbooks.

Semanas são suportadas?

Sim. O designador W é aceito na entrada e convertido em sete dias antes da soma, de modo que P1W mais P3D vira P10D na soma normalizada.

Por que os dias não viram meses?

A duração do mês depende de uma data de início de calendário. Esta ferramenta soma durações puras sem data de referência, então os dias permanecem como dias enquanto os meses ainda carregam para anos de doze em doze.

Como somar duas durações ISO 8601?

Cada unidade é somada com a mesma unidade e depois o excesso passa para a seguinte. Por exemplo, P1Y2M3DT4H5M6S mais P2Y1M10DT1H55M54S dá P3Y3M13DT6H1M: minutos e segundos que chegam a 60 sobem para a unidade seguinte.

Posso usar valores negativos ou decimais?

Não. Cada duração precisa ser não negativa, com números inteiros e as letras na ordem padrão. Sinais de mais ou menos, frações, um P sozinho e letras fora de ordem são recusados em vez de adivinhados.

Quais unidades são transportadas depois da soma?

Sessenta segundos viram um minuto, sessenta minutos uma hora, vinte e quatro horas um dia e doze meses um ano. Assim, somar 5 e 55 minutos acrescenta uma hora às horas.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/date/iso-duration-add

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/date/iso-duration-add \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"duration1":"P1Y2M3DT4H5M6S","duration2":"P2Y1M10DT1H55M54S"}'
{
  "duration1": "P1Y2M3DT4H5M6S",
  "duration2": "P2Y1M10DT1H55M54S"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "date.iso_duration_add",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

O que significa somar durações ISO 8601

Esse contrato corresponde ao que bibliotecas de validação e formulários de schema esperam ao verificar PnYnMnDTnHnMnS sem reanalisar texto livre.

Contrato de entrada, formato da resposta e erros

Cada valor deve ser uma duração ISO 8601 não negativa que siga a gramática ordenada de designadores PnYnMnWnDTnHnMnS apenas com componentes inteiros. Em caso de sucesso o corpo ecoa ambas as entradas como durações canônicas com semanas já expandidas em dias, a string sum após normalização completa por carregamento, os seis campos inteiros não negativos years, months, days, hours, minutes e seconds, e um breve lembrete da fórmula do algoritmo. Solicitações rejeitadas não são cobradas. Envie um corpo JSON com dois campos de string obrigatórios: duration1 e duration2. Sinais de mais ou menos no início são rejeitados para que a soma seja sempre um comprimento não negativo; strings vazias, P isolado, designadores fora de ordem, partes fracionárias e texto que não seja duração falham com invalid_input indicando o campo. Os aliases a, first, left e d1 mapeiam para duration1; b, second, right e d2 para duration2, para que planilhas e formulários reutilizem nomes de coluna curtos. Exemplo: duration1 igual a P1Y2M3DT4H5M6S e duration2 igual a P2Y1M10DT1H55M54S produzem sum P3Y3M13DT6H1M porque cinco minutos mais cinquenta e cinco minutos carregam uma hora, e seis segundos mais cinquenta e quatro permanecem abaixo de sessenta. Combine a execução gratuita no navegador nesta página com a API paga quando precisar da mesma soma dentro de um pipeline automatizado sem reimplementar parsers de duração em cada serviço.

Onde combinar duas durações ISO vale a pena

Como a implementação é parse pura de tier A, cada chamada bem-sucedida custa o preço base publicado US$ 0,002 sem tokens de modelo e sem rede de saída, e a validação falha não consome saldo.

Fixtures de CI para agendadores

Afirme que PT90M mais PT30M normaliza para PT2H em testes unitários sem depender de Date, de locales ou do relógio do host.

Como somar duas strings de duração ISO 8601?

Envie duration1 e duration2 como strings PnYnMnWnDTnHnMnS não negativas. A API expande semanas em dias, soma cada componente, normaliza por carregamento e devolve sum mais years, months, days, hours, minutes e seconds.

Quais entradas são rejeitadas?

Campos ausentes, strings vazias, P isolado, sinais iniciais, componentes fracionários, designadores fora de ordem e texto que não é duração falham com invalid_input e não são cobrados.

Quanto custa o somador de durações ISO?

A ferramenta do navegador é gratuita. Solicitações de API usam o saldo pré-pago do KIT a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.

Ver a documentação completa do KIT →