Formatador de deslocamento GMT em texto claro
O formatador de rótulos de deslocamento GMT converte um único valor com sinal, expresso em minutos inteiros, em texto claro em português, sem consultar relógio, localização, banco de fusos horários ou regras de horário de verão.
Executar grátis
Ao informar 120, você recebe um rótulo estável equivalente a GMT mais dois. Deslocamentos com frações de hora mantêm os minutos, valores negativos usam menos e zero resulta em GMT. A saída foi pensada para interfaces, relatórios, textos acessíveis, mensagens geradas e fluxos que precisam de uma redação previsível a partir de um valor numérico.
Comece com um deslocamento em minutos
Informe a diferença em relação ao GMT como um único número inteiro de minutos. Números positivos representam horários adiantados em relação ao GMT, números negativos representam horários atrasados e zero corresponde ao próprio GMT. Por exemplo, 120 significa duas horas à frente, enquanto -240 significa quatro horas atrás. Usar minutos torna o contrato inequívoco e permite representar deslocamentos que não coincidem com uma hora inteira. O intervalo aceito vai de -840 a 840 minutos, abrangendo desde quatorze horas atrás até quatorze horas à frente. O formatador não deduz um deslocamento com base em cidade, país, abreviação, data e hora ou configuração do dispositivo. Essa separação é intencional: fusos geográficos podem mudar por legislação e horário de verão, mas esta capacidade tem apenas a função de expressar o valor numérico exato recebido. Valide ou calcule as regras locais antes da chamada e envie o valor final com sinal. Como a entrada é explícita, valores idênticos sempre produzem rótulos idênticos em qualquer ambiente.
Entenda como o rótulo é montado
O valor zero retorna o rótulo conciso GMT. Para qualquer valor diferente de zero, o formatador primeiro escolhe mais ou menos conforme o sinal e depois divide a duração absoluta em horas inteiras e minutos restantes. Um valor de hora cheia omite a palavra horas para manter o resultado compacto: 120 vira GMT mais dois e -60 vira GMT menos um. Quando restam minutos, as unidades deixam a estrutura clara: 330 vira GMT mais cinco horas e trinta minutos, enquanto 30 vira GMT mais trinta minutos. As formas no singular aparecem quando há exatamente uma hora ou um minuto, e os números compostos seguem a escrita natural do idioma. O objeto retornado contém o rótulo legível e o deslocamento original em offset_minutes. Manter o número ao lado do texto atende pessoas e sistemas: você pode exibir o rótulo, ordenar ou comparar pelo número e evitar interpretar a frase novamente. Nenhuma localização, consulta de abreviação ou configuração oculta altera esse procedimento.
Use rótulos determinísticos sem indicar um fuso
Deslocamentos GMT e fusos horários nomeados têm relação, mas não são equivalentes. Um deslocamento informa somente a distância de um relógio em relação ao GMT; ele não identifica uma região nem promete quando mudanças sazonais ocorrerão. Use este formatador quando sua fonte já tiver um deslocamento fixo e seu público se beneficiar de palavras em vez de uma notação compacta como +05:30. Ele funciona bem em rótulos acessíveis ao lado de seletores, resumos falados, registros de auditoria, prévias de configuração e respostas normalizadas de API. Não use o resultado para afirmar que uma pessoa está atualmente em determinado fuso, nem como cálculo de horário de verão. O algoritmo não faz solicitações de rede e não lê relógio, localidade, sistema operacional ou banco de fusos. Isso permite resultados reproduzíveis em builds, testes, documentos em cache e execução no navegador. A automação via API custa US$ 0,002 por solicitação. Se a entrada estiver ausente, for fracionária, não numérica ou exceder o intervalo documentado, a capacidade retorna um erro tipado em vez de adivinhar ou arredondar.
Casos de uso
Rotular um seletor de deslocamentos
Transforme valores armazenados em minutos em opções legíveis para uma tela de configurações sem manter uma tabela separada de rótulos.
Criar metadados de horário acessíveis
Ofereça a leitores de tela ou saídas faladas uma descrição clara do deslocamento em vez de depender de uma notação numérica cheia de sinais.
Padronizar relatórios e exportações
Gere rótulos GMT estáveis com base em valores numéricos de configuração para que exportações repetidas usem sempre a mesma redação.
Perguntas frequentes
Esta ferramenta calcula o deslocamento de uma cidade ou fuso?
Não. Ela apenas formata o valor com sinal em minutos que você fornece e não consulta dados geográficos nem regras de horário de verão.
O que uma entrada igual a zero retorna?
Zero retorna GMT, sem mais, menos, horas ou minutos.
Ela aceita deslocamentos de meia hora e quinze minutos?
Sim. Qualquer valor de minutos inteiros dentro do intervalo aceito pode manter seu componente de minutos no rótulo.
O formatador arredonda minutos fracionários?
Não. Valores fracionários são rejeitados porque o arredondamento mudaria o deslocamento informado.
Quanto custa uma solicitação de API?
Cada solicitação de API custa US$ 0,002. O formatador puro também pode ser executado diretamente no navegador.
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/gmt-offset-label \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"minutes":330}'const res = await fetch("https://api.kit.forhosting.com/date/gmt-offset-label", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"minutes": 330
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/gmt-offset-label",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"minutes": 330
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/gmt-offset-label", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"minutes":330}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"minutes":330}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/gmt-offset-label", 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
{
"minutes": 330
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.gmt_offset_label",
"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. |