Определение часового пояса

Часовой пояс точки и смещение, действующее там в заданный момент.

GEThttps://api.mygeocode.com/v1/timezone

Параметры

ПараметрТипОписание
latобязательный*числоОт -90 до 90.
lonобязательныйчислоОт -180 до 180.
locationsнеобязательныйстрока*Альтернатива lat и lon: до 100 точек в виде lat,lon|lat,lon|.... Каждая точка засчитывается как один запрос; ответ содержит массив results в порядке ввода.
tzнеобязательныйстрока*Альтернатива координатам: идентификатор зоны IANA, например Europe/Zurich (идентификатор Windows тоже принимается). Возвращает те же поля для этой зоны без поиска по границам.
timestampнеобязательныйцелое числоВремя Unix в секундах. По умолчанию: текущий момент. Принимается любой момент с 1900 по 2100; для будущих смещений используются опубликованные на данный момент правила.
languageнеобязательныйстрокаЯзык для name, например de или pt-BR. По умолчанию английский.
keyнеобязательныйстрокаAPI-ключ, если он не передан в заголовке.

Пример

$ curl -H "X-API-Key: YOUR_KEY" "https://api.mygeocode.com/v1/timezone?lat=-33.8688&lon=151.2093&timestamp=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"])
Ответ
{
  "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 }
}

Поля ответа

ПолеТипОписание
timezoneстрокаИмя IANA. В международных водах Etc/GMT+n или Etc/GMT-n (обратите внимание, что знак инвертирован, как в IANA).
abbreviationстрокаАббревиатура на момент timestamp. Только для отображения; не уникальна.
nameстрокаПолное название, действующее на момент timestamp, например Australian Eastern Daylight Time.
utc_offsetстрока±HH:MM на момент timestamp.
utc_offset_secondsцелое числоТо же в виде числа.
raw_offset_seconds, dst_offset_secondsцелое числоСтандартное смещение и добавка летнего времени сверх него (0, когда летнее время не действует). Их сумма равна utc_offset_seconds.
dstлогическое значениеДействует ли летнее время на момент timestamp.
timestampцелое числоОписываемый момент.
local_timeстрокаМестное время по RFC 3339 со смещением.
country_codeстрока или nullISO 3166-1 alpha-2, null в море.
is_oceanлогическое значениеTrue для зон Etc/GMT, используемых в международных водах.
windows_timezoneстрока или nullСоответствующий идентификатор часового пояса Windows из CLDR, например W. Europe Standard Time.
next_transitionобъект или nullСледующее изменение смещения после timestamp, если оно есть в этой зоне.

Примечания

Тот же запрос в форматах других провайдеров

Если у вас уже есть код, написанный под одного из этих провайдеров, оставьте его: совместимый хост принимает тот же путь и те же параметры и отвечает в формате ответа этого провайдера, а за ним работает этот эндпоинт. См. как работают совместимые хосты.

ПровайдерХостПуть
Платформа Google Mapsgapi.mygeocode.com/maps/api/timezone/json?location=lat,lng&timestamp=...&language=..
REST-сервисы Bing Mapsbing.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=...
LocationIQlocationiq.mygeocode.com/v1/timezone?lat=...&lon=...

Ошибки

400 invalid_request, если lat или lon отсутствует или вне допустимого диапазона, tz не является известной зоной, точек больше 100 или timestamp вне диапазона от 1900 до 2100. 503 unavailable, если данные о границах не загружены; ничего не засчитывается.