Tempo decorrido
De 10 de março de 2024 às 09:30 até 12 de março de 2024 às 14:45:30 passaram 2 dias, 5 horas, 15 minutos e 30 segundos. Informe duas marcas de tempo com data e veja a duração completa, nunca negativa. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Início
- 2024-03-10T09:30:00Z
- End
- 2024-03-12T14:45:30Z
- Início
- 2024-03-10T09:30:00.000Z
- End
- 2024-03-12T14:45:30.000Z
- Dias
- 2
- Horas
- 5
Quanto tempo passou entre duas marcas de tempo? Uma calculadora de tempo decorrido responde a essa pergunta do dia a dia com uma duração completa, não só com dias de calendário inteiros nem só com as horas de um relógio. Você informa uma marca de início e uma de fim — instantes ISO-8601 como 2024-03-10T09:30:00Z, dias só data tratados como meia-noite UTC, ou segundos Unix — e a ferramenta devolve os dias, horas, minutos, segundos e milissegundos decorridos. Se o fim precede o início, o pedido é recusado em vez de devolver uma duração negativa que uma folha de ponto ou um registro leria mal em silêncio. Não há chamada de rede, nem relógio do sistema, nem aleatoriedade: só conversão do calendário civil em milissegundos UTC e uma subtração que se recusa a andar para trás.
Como duas marcas de tempo viram dias, horas, minutos e segundos
Uma marca de tempo nomeia um instante na linha civil, não uma posição em um relógio de doze ou vinte e quatro horas nem uma duração que você já tenha medido. 2024-03-10T09:30:00Z é um único instante UTC; 2024-03-12T14:45:30Z é um instante posterior. A regra de tempo decorrido converte cada instante em milissegundos desde a época Unix com aritmética gregoriana proléptica — anos bissextos, comprimentos de mês e deslocamentos de fuso incluídos — e depois subtrai o início do fim.
O resto não negativo se parte por divisões inteiras sucessivas: oitenta e seis milhões e quatrocentos mil milissegundos formam um dia, três milhões e seiscentos mil uma hora, sessenta mil um minuto e mil um segundo. O que sobra é o resíduo de milissegundos. Marcas iguais dão tempo decorrido zero, não um dia inteiro, porque as duas leituras nomeiam o mesmo instante.
Valores só data como 2024-01-01 são tratados como meia-noite UTC, de modo que uma semana do primeiro ao oitavo são exatamente sete dias. Segundos Unix numéricos são multiplicados por mil; valores cuja magnitude absoluta é pelo menos um trilhão já são tratados como milissegundos, que é como exportadores de log e navegadores costumam carimbar eventos.
Contrato de entrada, formatos aceitos e o erro de fim anterior ao início
O corpo do pedido leva dois campos obrigatórios: start e end. Cada um pode ser uma data ISO-8601 na forma YYYY-MM-DD, uma data-hora ISO-8601 com segundo fracionário opcional e um deslocamento Z ou mais-ou-menos HH:mm, ou uma marca Unix como número ou cadeia numérica. Espaços iniciais e finais são recortados.
Quando o instante end analisado é anterior ao instante start analisado, a tarefa também falha, com uma mensagem de que o fim precede o início: esta calculadora não inventará um cruzamento de meia-noite nem uma duração negativa com sinal. Entrada inválida não é cobrada.
Onde uma calculadora de tempo decorrido vale o espaço
As pessoas recorrem a uma calculadora de tempo decorrido quando dois instantes registrados precisam virar um comprimento que um humano lê e um script guarda. Quem comanda um incidente converte uma marca de início e uma de fim em dias e horas para uma janela de SLA. Equipes de produto e suporte medem quanto durou uma sessão, um job ou um deploy da primeira linha de log até a última.
Ferramentas de folha de pagamento e de ponto que já guardam entrada e saída como datas-hora precisam de uma duração, não de uma contagem de dias de calendário nem de um cruzamento de relógio no mesmo dia. Estudantes que aprendem tempo decorrido conferem que 09:30 do dia dez até 14:45:30 do dia doze são dois dias, cinco horas, quinze minutos e trinta segundos, e não um erro de empréstimo no papel.
Combine esta página com uma ferramenta de duração entre horários do relógio se você só tem duas horas do dia e nenhuma data, com uma contagem de dias civis se só quer jornadas de calendário inteiras, ou com um formatador de duração legível se já tem um número de segundos e só precisa do texto. Como a ferramenta recusa um intervalo invertido, ela também serve de validador de ordem das marcas para formulários de entrada que não devem aceitar um fim anterior ao início.
Casos de uso
Janelas de incidente e de SLA
Transforme uma marca de início e uma de fim de um registro de incidente em dias, horas e minutos para um relato de SLA que não deve aceitar um intervalo invertido.
Duração de turno e de sessão a partir de datas-hora
Calcule quanto durou um turno, uma reunião ou uma sessão gravada quando as duas pontas estão guardadas como datas-hora ISO ou segundos Unix, inclusive trechos de vários dias.
Checagens escolares e de log do tempo decorrido
Deixe estudantes e scripts conferirem que de 2024-03-10T09:30:00Z a 2024-03-12T14:45:30Z há 2 days 5 hours 15 minutes 30 seconds, e que um fim anterior é recusado.
Perguntas frequentes
Como calcular o tempo decorrido entre duas marcas de tempo?
Envie start e end como datas-hora ISO-8601 (ou só data à meia-noite UTC) ou como segundos Unix.
O que acontece se a marca de fim precede a de início?
O tempo decorrido exige que o fim seja igual ou posterior ao início; a calculadora não cruza a meia-noite e não devolve uma duração negativa.
Quais formatos de marca de tempo são aceitos?
ISO-8601 YYYY-MM-DD, YYYY-MM-DDTHH:mm:ss com fração opcional e Z ou ±HH:mm, e segundos Unix (ou milissegundos quando o valor absoluto é pelo menos 1e12). Cadeias só de relógio como 09:30 sem data são recusadas.
Em que isso difere de uma duração de relógio ou de uma contagem de dias entre datas?
A duração de relógio subtrai duas horas do dia em um relógio circular e pode cruzar a meia-noite. Os dias entre datas contam jornadas de calendário inteiras. Esta página mede a duração completa entre duas marcas absolutas.
Consigo ver a duração total em segundos?
Sim. Além de dias, horas, minutos e segundos, aparece o total em segundos: de 10 de março de 2024 às 09:30 até 12 de março às 14:45:30 são 191730 segundos.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
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.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/life/elapsed-time \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start":"2024-03-10T09:30:00Z","end":"2024-03-12T14:45:30Z"}'const res = await fetch("https://api.kit.forhosting.com/life/elapsed-time", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start": "2024-03-10T09:30:00Z",
"end": "2024-03-12T14:45:30Z"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/elapsed-time",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start": "2024-03-10T09:30:00Z",
"end": "2024-03-12T14:45:30Z"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/elapsed-time", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start":"2024-03-10T09:30:00Z","end":"2024-03-12T14:45:30Z"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start":"2024-03-10T09:30:00Z","end":"2024-03-12T14:45:30Z"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/elapsed-time", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"start": "2024-03-10T09:30:00Z",
"end": "2024-03-12T14:45:30Z"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.elapsed_time",
"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.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Como duas marcas de tempo viram dias, horas, minutos e segundos
O algoritmo nunca consulta o relógio do sistema, nunca chama um serviço de rede e nunca usa aleatoriedade, assim o mesmo par de marcas produz sempre os mesmos days, hours, minutes, seconds, total_seconds, a frase pretty e a cadeia compact.
Contrato de entrada, formatos aceitos e o erro de fim anterior ao início
Os aliases start_time, start_timestamp, from e begin são aceitos para start; os aliases end_time, end_timestamp, to, until e stop são aceitos para end, para que formulários e scripts guardem os nomes que já têm. Um campo ausente, uma cadeia vazia após o recorte, um valor que não é cadeia nem número, um dia civil impossível como 2024-02-30, uma hora fora de zero a vinte e três, ou uma cadeia que não é ISO nem numérica falham com invalid_input e nomeiam o campo culpado. No sucesso, a resposta devolve as duas marcas normalizadas para ISO-8601 UTC com precisão de milissegundo, os days, hours, minutes, seconds e milliseconds desdobrados, total_seconds e total_milliseconds como contagens exatas, uma frase pretty em inglês como 2 days 5 hours 15 minutes 30 seconds, um token compact como 2d 5h 15m 30s e uma fórmula breve que você pode imprimir ao lado da resposta. Chamadas API corretas usam o preço-base publicado US$ 0,002.
Onde uma calculadora de tempo decorrido vale o espaço
Isso mantém a latência em um punhado de operações aritméticas e o modelo de custo honesto em US$ 0,002 por pedido API correto, enquanto a validação falha nunca consome saldo pré-pago.
Perguntas técnicas
Quanto custa a calculadora de tempo decorrido?
A ferramenta do navegador é gratuita. Pedidos API usam saldo pré-pago a US$ 0,002 por chamada correta; entrada inválida não é cobrada.