Diferença em minutos entre dois datetimes
De 1º de janeiro de 2024 à meia-noite até 1h30 do mesmo dia, ambos em UTC, passam 90 minutos. Digite duas datas com hora, com o deslocamento como +02:00 ou com Z, e receba os minutos inteiros entre elas e o sentido. 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-01-01T00:00:00Z
- End
- 2024-01-01T01:30:00Z
- Início (epoch) (segundos)
- 1.704.067.200
- Fim (epoch) (segundos)
- 1.704.072.600
- Total de segundos
- 5.400
- Minutos com sinal
- 90
Esta calculadora de diferença em minutos recebe dois datetimes ISO-8601 explícitos e devolve quantos minutos inteiros os separam quando ambos os instantes estão em UTC. Verificações clássicas: de 2024-01-01T00:00:00Z a 2024-01-01T01:30:00Z resultam noventa minutos à frente; o par invertido dá noventa negativos; e extremos idênticos dão zero. Deslocamentos como +02:00 são convertidos para UTC antes da subtração, para que uma hora local e um carimbo Zulu nunca se misturem em silêncio.
O que significa uma diferença assinada em minutos e o que a resposta contém
Uma diferença assinada em minutos inteiros responde a uma pergunta diferente de uma contagem regressiva multiunidade, de um intervalo só em dias de calendário ou de uma idade em anos e meses: mede quão distantes estão dois instantes absolutos quando ambos se reduzem a segundos de época UTC e se dividem por sessenta. Valores só-data são tratados como meia-noite UTC, de modo que um par de dias puros ainda produz um múltiplo de mil quatrocentos e quarenta minutos.
Datetimes completos podem incluir separador T ou espaço, segundos opcionais, frações de segundo truncadas a segundos inteiros, e um Z final ou deslocamento numérico como +05:30 ou -0800. Casos rejeitados incluem campo start ou end ausente, formas erradas como 01/01/2024 3pm, meses impossíveis, dias inexistentes como 2023-02-29, horas fora de zero a vinte e três e anos fora de um a 9999.
Se você precisar só de dias de calendário, de um desdobramento dias-horas-minutos-segundos ou de análise de frases relativas como «amanhã», use essas ferramentas dedicadas; esta página responde apenas à distância assinada em minutos inteiros UTC entre dois datetimes ISO validados.
Casos de uso
SLA e janelas de resposta
Meça minutos inteiros entre o carimbo de um alerta e o de reconhecimento, inclusive valores assinados negativos quando os relógios estão fora de ordem.
Duração de reunião segura com deslocamento
Converta primeiro para UTC datetimes ISO locais com deslocamento +02:00 ou -08:00 e informe uma duração assinada em minutos que não dependa do relógio do host.
Perguntas frequentes
A ferramenta usa a hora atual?
Não. Somente os dois datetimes explícitos que você informa são usados. Não há Date.now nem dependência do relógio de parede.
O que acontece com deslocamentos de fuso horário?
Deslocamentos numéricos e Z são convertidos para UTC antes da subtração. Valores só-data são tratados como meia-noite UTC.
E se o horário final vier antes do inicial?
Você continua recebendo os minutos sem sinal, mas o resultado com sinal fica negativo e o sentido aparece como para trás. Invertendo o exemplo, de 1h30 para a meia-noite, o resultado é −90.
Posso digitar só datas, sem horário?
Sim. Uma data sem horário é lida como meia-noite em UTC, então duas datas sem horário sempre diferem por um múltiplo exato de 1.440 minutos, a duração de um dia.
Os segundos que sobram são arredondados?
Não. Frações de segundo são descartadas e o resultado guarda só minutos inteiros, cortando o que sobra em vez de arredondar. Assim, uma diferença que não completa um minuto conta como zero.
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/date/diff-in-minutes \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start":"2024-01-01T00:00:00Z","end":"2024-01-01T01:30:00Z"}'const res = await fetch("https://api.kit.forhosting.com/date/diff-in-minutes", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start": "2024-01-01T00:00:00Z",
"end": "2024-01-01T01:30:00Z"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/diff-in-minutes",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start": "2024-01-01T00:00:00Z",
"end": "2024-01-01T01:30:00Z"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/diff-in-minutes", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start":"2024-01-01T00:00:00Z","end":"2024-01-01T01:30:00Z"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start":"2024-01-01T00:00:00Z","end":"2024-01-01T01:30:00Z"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/diff-in-minutes", 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-01-01T00:00:00Z",
"end": "2024-01-01T01:30:00Z"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.diff_in_minutes",
"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
O que significa uma diferença assinada em minutos e o que a resposta contém
Você informa um datetime de início e um de fim como strings ISO-8601; a ordem não precisa ser cronológica porque o campo minutes é sempre não negativo, enquanto signed_minutes preserva a direção quando o fim é anterior ao início. A calculadora devolve as strings start e end ecoadas, start_epoch_seconds e end_epoch_seconds para depuração, total_seconds como delta bruto em segundos, signed_minutes como trunc desse delta sobre sessenta, minutes como valor absoluto, um rótulo direction de forward, backward ou zero, e um breve lembrete de fórmula. Não há contagem regressiva ao vivo em relação ao relógio atual, nem início de semana dependente de locale, nem aproximação flutuante da duração de um minuto: ou ambas as entradas são tempos absolutos válidos dentro da janela de anos suportada e o intervalo fica totalmente determinado, ou a solicitação falha com invalid_input.
Como start e end são lidos e por que a contagem de minutos é reproduzível
Cada string é aparada e confrontada com um padrão ISO estrito: ano de quatro dígitos, mês, dia, hora opcional com horas e minutos, segundos e fração opcionais, e Z ou deslocamento com sinal opcional. Após o parse, cada ano deve ficar entre 1 e 9999, cada mês entre 1 e 12, e cada dia entre 1 e o comprimento real daquele mês naquele ano, com anos bissextos pela regra gregoriana de divisível por quatro exceto séculos não divisíveis por quatrocentos. Horas vão de 0 a 23 e minutos e segundos de 0 a 59. O primeiro campo preferido é start, mas os aliases from, a, begin e start_date são aceitos para que planilhas, query strings e formulários tipados reutilizem o mesmo contrato sem renomear colunas. O segundo campo preferido é end, com aliases to, b, finish e end_date pelo mesmo motivo. Internamente o motor converte cada tripla civil mais a hora local do dia em uma contagem serial de dias gregoriana prolepse, multiplica por 86400, soma o segundo-do-dia local e subtrai o deslocamento em minutos vezes sessenta, de modo que todo valor vira segundos de época UTC. signed_minutes é então Math.trunc do epoch de fim menos o de início sobre sessenta, o que descarta um minuto parcial final e mantém o sinal do delta completo em segundos. Instantes idênticos dão zero; inverter o par só inverte o sinal de signed_minutes e total_seconds e deixa minutes inalterado. Combine a execução gratuita no navegador desta página com a API paga quando precisar do mesmo intervalo em minutos dentro de um pipeline automatizado.
Onde a aritmética de intervalos em minutos se encaixa em operações, logs e testes
Equipes de operações e suporte medem minutos entre dois datetimes quando um SLA define uma janela de resposta de trinta ou sessenta minutos, quando um cooldown deve decorrer entre retentativas, ou quando a linha do tempo de um incidente precisa de um intervalo assinado entre os carimbos de reconhecimento e de resolução. Analistas que correlacionam logs usam a mesma distância para rotular quantos minutos inteiros separam uma linha de erro do marcador de deploy anterior, inclusive valores negativos quando o segundo carimbo é anterior ao primeiro e ainda assim deve ser mantido em relatórios com direção. Combine com days-between, countdown-between ou auxiliares de fuso quando precisar de passos de calendário relacionados, e com outras ferramentas determinísticas gratuitas ao montar um pequeno laboratório de utilitários de tempo. Educadores e redatores de normas usam a ferramenta para demonstrar que 2024-01-01T00:00:00+02:00 e 2023-12-31T22:00:00Z são o mesmo instante UTC e portanto zero minutos de distância, ou que uma reunião de noventa minutos de 09:00 a 10:30 produz signed_minutes de noventa independentemente do idioma do relógio de parede. Nesta página o trabalho roda inteiramente no seu navegador; pela API cada consulta bem-sucedida custa US$ 0,002, a validação falha não é cobrada e nada é armazenado após a resposta. Essa divisão — exploração interativa gratuita e uma API idêntica paga — combina com o restante do catálogo KIT de nível A e permite passar de uma checagem pontual a um pipeline sem mudar o resultado matemático.
Casos de integração
Fixtures determinísticas de CI
Gere deltas de minutos reproduzíveis para testes unitários e de propriedades sem Date.now, variáveis de ambiente de fuso nem tabelas de segundos intercalares.
Perguntas técnicas
Quanto custa a calculadora de diferença em minutos?
É gratuita no seu navegador nesta página. Pela API uma solicitação bem-sucedida custa US$ 0,002; entradas inválidas não são cobradas.
Como os minutos assinados são definidos?
Ambos os datetimes são convertidos para segundos de época UTC; em seguida signed_minutes = trunc((end − start) / 60). minutes é o valor absoluto; total_seconds é o delta bruto em segundos.
E se end for anterior a start?
minutes permanece não negativo. signed_minutes é negativo e direction é backward, de modo que a ordem cronológica é preservada quando você precisar.