Diferença de fuso UTC
Quando são 15:30 em UTC+2, são 08:30 em UTC−5, sete horas a menos. Informe dois fusos fixos e uma hora local e receba a diferença entre os relógios e o horário correspondente, com um aviso quando a meia-noite é cruzada. 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
- Deslocamento a
- 2
- Deslocamento b
- -5
- Hora a
- 15
- Minuto a
- 30
- Horário a
- 15:30
- Rótulo do offset a
- UTC+2
- Rótulo do offset b
- UTC−5
- Diferença de horas
- -7
Uma ferramenta de diferença de offset de fuso responde a uma pergunta estreita mas comum: se um lugar está fixo em UTC mais ou menos N horas e outro em M horas, quantas horas separam seus relógios, e que hora local é em B quando é uma hora dada em A? Informe dois offsets fixos em horas a partir do Tempo Universal Coordenado—horas inteiras como mais dois ou menos cinco, ou offsets civis fracionários como mais cinco vírgula cinco para a Índia—e um relógio local de vinte e quatro horas na localização A. A calculadora devolve a diferença horária com sinal B menos A, a separação absoluta, o relógio local mapeado em B com uma nota de dia do calendário quando a meia-noite é cruzada, e a aritmética passo a passo que você pode conferir à mão. Ela ignora de propósito nomes de zona IANA e transições de horário de verão para que o resultado seja uma identidade pura de offset útil para notas de planejamento de voo, matemática de reuniões com rótulos UTC± publicados e testes unitários que não podem depender de um banco de fusos.
Offsets UTC fixos versus fusos nomeados
A hora civil costuma ser publicada como um offset fixo a partir do Tempo Universal Coordenado: UTC mais dois para um horário de inverno na Europa Central, UTC menos cinco para o horário padrão do Leste, UTC mais cinco horas e trinta minutos para o horário padrão da Índia, ou UTC mais quatorze para as Ilhas da Linha. Um offset fixo é um único número real de horas—positivo a leste do meridiano de Greenwich na convenção de sinal usual, negativo a oeste—sem virada sazonal.
Zonas nomeadas como America/New_York ou Europe/Paris são diferentes: são identificadores no banco IANA cujo offset efetivo pode mudar quando as regras de horário de verão se aplicam. Esta capacidade não resolve nomes de cidade, códigos de país ou identificadores de zona e não chama Date nem um banco tz. Você fornece os dois offsets que já conhece de uma programação, um bilhete, uma config de servidor ou um guia de estilo, e obtém a diferença aritmética pura entre esses números mais um mapeamento de hora local.
Essa divisão de intenção importa para busca e correção: quem digita diferença de offset de fuso ou horas UTC entre dois offsets quer uma calculadora que não aplique em silêncio o horário de verão nem invente um buraco de spring-forward. Quem precisa de Nova York versus Tóquio com horário de verão deve usar um conversor de zona completo.
Quatorze horas é o limite externo prático dos offsets civis reais em uso; valores além dessa faixa são tratados como erros de entrada de dados em vez de esquemas exóticos de meio dia.
Casos de uso
Matemática de reuniões com rótulos UTC± publicados
Equipes que já conhecem ambos os lados como offsets fixos convertem um horário local de início em A para o relógio que colegas veem em B sem abrir um banco de fusos completo.
Notas de viagem e checagens de programação
Viajantes comparam offsets do bilhete (por exemplo UTC+1 versus UTC−5) e verificam a que relógio do lado da chegada um horário do lado da partida mapeia, inclusive o wrap para o dia seguinte.
Perguntas frequentes
O que é um offset UTC fixo?
Um offset UTC fixo é um número constante de horas a partir do Tempo Universal Coordenado (por exemplo +2 ou −5), sem aplicar regras de horário de verão de zonas nomeadas. Esta ferramenta só aceita esses números.
O que acontece se um offset ultrapassar ±14 horas?
Offsets civis reais ficam em cerca de ±14 horas; valores fora dessa faixa são tratados como erros.
Isto trata horário de verão?
Não. Não há banco IANA nem uso de Date. Forneça os offsets fixos que já se aplicam à data que importa para você.
A calculadora de diferença de offset de fuso é gratuita?
A ferramenta do navegador é gratuita e roda localmente.
O que significa uma diferença de horas negativa?
A diferença é o segundo fuso menos o primeiro. Um resultado negativo, como menos 7 de UTC+2 para UTC−5, indica que o relógio do segundo lugar está atrás; um positivo, que está à frente.
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/travel/timezone-offset-diff \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"offset_a":2,"offset_b":-5,"hour_a":15}'const res = await fetch("https://api.kit.forhosting.com/travel/timezone-offset-diff", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"offset_a": 2,
"offset_b": -5,
"hour_a": 15
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/travel/timezone-offset-diff",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"offset_a": 2,
"offset_b": -5,
"hour_a": 15
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/travel/timezone-offset-diff", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"offset_a":2,"offset_b":-5,"hour_a":15}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"offset_a":2,"offset_b":-5,"hour_a":15}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/travel/timezone-offset-diff", 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
{
"offset_a": 2,
"offset_b": -5,
"hour_a": 15
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "travel.timezone_offset_diff",
"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.
Limites
max_abs_offset_hours | 14 |
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
Offsets fora de mais ou menos quatorze horas são rejeitados com invalid_input. O caminho é determinístico—sem rede, sem sementes aleatórias, sem Date de relógio de parede—assim o executor gratuito do navegador e a API pré-paga devolvem o mesmo JSON após arredondamento fixo sempre.
Offsets UTC fixos versus fusos nomeados
Ao manter o contrato em números fixos no intervalo fechado de menos quatorze a mais quatorze horas, a ferramenta fica previsível para planilhas, testes de API e notas de viagem que já imprimem rótulos UTC±.
Como chamar a API e ler a resposta
Envie um corpo JSON com os números finitos obrigatórios offset_a e offset_b (aliases incluem a, from_offset, offset_from, utc_a para o primeiro, e b, to_offset, offset_to, utc_b para o segundo), cada um entre menos quatorze e mais quatorze inclusive, mais o inteiro obrigatório hour_a de zero a vinte e três para a hora local em A. O opcional minute_a tem padrão zero e deve ser um inteiro de zero a cinquenta e nove quando presente. Em sucesso a resposta ecoa os offsets arredondados e o relógio de entrada, publica offset_a_label e offset_b_label como strings curtas UTC±, define hour_diff como offset_b menos offset_a, abs_diff_hours como o valor absoluto dessa diferença, hour_b e minute_b e time_b para o relógio mapeado em B, day_offset para quantas meias-noites foram cruzadas ao somar a diferença, day_note e direction como resumos curtos, message como resultado de uma linha, e steps como um array ordenado de linhas de substituição. Validação falha—campos ausentes, números não finitos, hora ou minuto não inteiros, hora fora de zero a vinte e três, minuto fora de zero a cinquenta e nove, ou qualquer offset cujo valor absoluto exceda quatorze horas—retorna invalid_input e nunca é cobrada. O preço é um US$ 0,002 fixo por requisição bem-sucedida com unidade item e preço unitário marginal zero.
Dicas práticas, limites e buscas relacionadas
Mantenha os offsets dentro da janela publicada de mais ou menos quatorze horas; valores como quinze ou menos quatorze vírgula um são rejeitados para que chamadores não inventem offsets civis impossíveis. Prefira horas fracionárias para zonas de meia hora e três quartos de hora—cinco vírgula cinco para a Índia, cinco vírgula sete cinco para o Nepal, nove vírgula cinco para partes da Austrália—em vez de esconder minutos em um segundo campo que não existe para o offset em si. Esta página atende quem busca diferença de offset de fuso, horas de offset UTC entre dois lugares ou hora local dados dois offsets fixos; não é calculadora de duração de voo, nem conselheiro de horário de verão, nem conversor de zona por nome de cidade. Prefira esta capacidade quando ambos os lados já publicam rótulos UTC± fixos; se você só tem nomes de cidade, resolva os offsets primeiro ou use uma ferramenta de zona com horário de verão. Ao mapear um relógio local, lembre que a diferença com sinal é sempre B menos A: se A é UTC mais dois e B é UTC menos cinco, hour_diff é menos sete, então quinze e trinta em A vira oito e trinta no mesmo dia do calendário em B. Cruzar a meia-noite define day_offset como mais um ou menos um e a string day_note explica de que lado da meia-noite B cai em relação a A. Emparelhe exemplos ao ensinar: o mesmo offset deixa o relógio inalterado; viagem para o oeste de horas inteiras subtrai horas; para o leste soma horas; um offset de meia hora produz um deslocamento de trinta minutos; um offset fora da faixa demonstra o caminho duro de invalid_input. Tarefas falhas que retornam invalid_input não consomem saldo pré-pago, o que mantém scripts exploratórios baratos quando aprendizes enviam de propósito offset quinze. Checagens de ida e volta são fáceis: recalcule à mão offset_b menos offset_a e confirme que é igual a hour_diff, depois some essas horas a time_a e confirme que time_b e day_offset batem após o wrap de vinte e quatro horas.
Casos de integração
Testes unitários de aritmética de offset
Serviços que armazenam offsets fixos geram pares dourados de hour_diff e time_b, mais casos deliberados de fronteira ±14 e invalid_input fora da faixa.
Perguntas técnicas
Como hour_diff é definido?
hour_diff é sempre offset_b menos offset_a. Positivo significa que o relógio de B está à frente do de A no mesmo instante; negativo significa que B está atrás.