Consulta de fuso horário
O fuso horário de um ponto e o deslocamento em vigor ali num determinado momento.
GEThttps://api.mygeocode.com/v1/timezone
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
latobrigatório* | número | De -90 a 90. |
lonobrigatório | número | De -180 a 180. |
locationsopcional | string | *Alternativa a lat e lon: até 100 pontos no formato lat,lon|lat,lon|.... Cada ponto conta como uma requisição; a resposta tem um array results na ordem de entrada. |
tzopcional | string | *Alternativa às coordenadas: um ID de zona IANA como Europe/Zurich (um ID do Windows também é aceito). Retorna os mesmos campos para essa zona, sem consulta de limites. |
timestampopcional | inteiro | Horário Unix em segundos. Padrão: agora. Qualquer momento de 1900 a 2100 é aceito; deslocamentos futuros usam as regras publicadas atualmente. |
languageopcional | string | Idioma de name, por exemplo de ou pt-BR. Padrão: inglês. |
keyopcional | string | Chave de API, se não for enviada como cabeçalho. |
Exemplo
$ curl -H "X-API-Key: YOUR_KEY" "https://api.mygeocode.com/v1/timezone?lat=-33.8688&lon=151.2093×tamp=1767225600"const url = new URL("https://api.mygeocode.com/v1/timezone");
url.searchParams.set("lat", -33.8688);
url.searchParams.set("lon", 151.2093);
url.searchParams.set("timestamp", 1767225600); // 2026-01-01T00:00:00Z
const tz = await (await fetch(url, { headers: { "X-API-Key": "YOUR_KEY" } })).json();
console.log(tz.timezone, tz.utc_offset, tz.dst);import requests
tz = requests.get("https://api.mygeocode.com/v1/timezone",
params={"lat": -33.8688, "lon": 151.2093, "timestamp": 1767225600}, headers={"X-API-Key": "YOUR_KEY"}, timeout=5).json()
print(tz["timezone"], tz["utc_offset"], tz["dst"])Resposta
{
"status": "ok",
"lat": -33.8688,
"lon": 151.2093,
"timezone": "Australia/Sydney",
"abbreviation": "AEDT",
"utc_offset": "+11:00",
"utc_offset_seconds": 39600,
"dst": true,
"timestamp": 1767225600,
"local_time": "2026-01-01T11:00:00+11:00",
"country_code": "AU",
"next_transition": { "timestamp": 1775316000, "utc_offset": "+10:00", "dst": false }
}Campos da resposta
| Campo | Tipo | Descrição |
|---|---|---|
timezone | string | Nome IANA. Em águas internacionais, Etc/GMT+n ou Etc/GMT-n (observe que a convenção de sinal é invertida, como na IANA). |
abbreviation | string | Abreviação em timestamp. Apenas para exibição; não é única. |
name | string | Nome longo em vigor em timestamp, por exemplo Australian Eastern Daylight Time. |
utc_offset | string | ±HH:MM em timestamp. |
utc_offset_seconds | inteiro | O mesmo, como número. |
raw_offset_seconds, dst_offset_seconds | inteiro | Deslocamento padrão e a parte do horário de verão somada a ele (0 quando o horário de verão não está em vigor). A soma dos dois é utc_offset_seconds. |
dst | booleano | Horário de verão em vigor em timestamp. |
timestamp | inteiro | O momento descrito. |
local_time | string | Hora local RFC 3339 com deslocamento. |
country_code | string ou null | ISO 3166-1 alfa-2, null no mar. |
is_ocean | booleano | True para as zonas Etc/GMT usadas em águas internacionais. |
windows_timezone | string ou null | O ID de fuso horário do Windows correspondente, do CLDR, por exemplo W. Europe Standard Time. |
next_transition | objeto ou null | A próxima mudança de deslocamento depois de timestamp, se a zona tiver uma. |
Observações
- Armazene o nome IANA e converta horários com o banco de dados tz da sua plataforma. Use os campos de deslocamento para exibição ou para sistemas que não têm esse banco.
- Deslocamentos e regras de horário de verão seguem o banco de dados de fusos horários da IANA e são atualizados à medida que novas versões são publicadas.
- Os limites são simplificados para cerca de 55 m, então um ponto a poucos metros de uma fronteira terrestre pode resultar na zona vizinha. Águas territoriais e o oceano aberto também são cobertos; pontos em alto-mar recebem a zona náutica (
Etc/GMT+3e assim por diante).
A mesma consulta nos formatos de outros provedores
Se você já tem código escrito para um desses provedores, mantenha-o: o host compatível aceita o mesmo caminho e os mesmos parâmetros e responde no formato de resposta desse provedor, com este endpoint por trás. Veja como funcionam os hosts compatíveis.
| Provedor | Host | Caminho |
|---|---|---|
| Google Maps Platform | gapi.mygeocode.com | /maps/api/timezone/json?location=lat,lng×tamp=...&language=.. |
| Bing Maps REST Services | bing.mygeocode.com | /REST/v1/TimeZone/{lat},{lon}?datetime=.../REST/v1/TimeZone/?query=lat,lon/REST/v1/TimeZone/List?timezoneStandard=iana|windows/REST/v1/TimeZone/Convert?datetime=...&fromtz=...&desttz=... |
| LocationIQ | locationiq.mygeocode.com | /v1/timezone?lat=...&lon=... |
Erros
400 invalid_request quando lat ou lon está ausente ou fora do intervalo, quando tz não é uma zona conhecida, quando há mais de 100 pontos ou quando timestamp está fora do intervalo de 1900 a 2100. 503 unavailable quando os dados de limites não estão carregados; nada é contado.