タイムゾーン検索
地点のタイムゾーンと、特定の時点でそこに適用されているオフセット。
GEThttps://api.mygeocode.com/v1/timezone
パラメータ
| パラメータ | 型 | 説明 |
|---|---|---|
lat必須* | 数値 | -90から90。 |
lon必須 | 数値 | -180から180。 |
locations任意 | 文字列 | *latとlonの代わりに、最大100地点をlat,lon|lat,lon|...の形式で指定できます。各地点が1件のリクエストとして数えられ、応答には入力順のresults配列が含まれます。 |
tz任意 | 文字列 | *座標の代わりに、Europe/ZurichなどのIANAゾーンIDを指定できます(WindowsのIDも受け付けます)。境界の検索を行わずに、そのゾーンについて同じフィールドを返します。 |
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×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"])レスポンス
{
"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 | 文字列 | timestamp時点の±HH:MM。 |
utc_offset_seconds | 整数 | 同じ値を数値で表したもの。 |
raw_offset_seconds, dst_offset_seconds | 整数 | 標準オフセットと、それに加算される夏時間分(夏時間が適用されていない場合は0)。その合計がutc_offset_secondsです。 |
dst | 真偽値 | timestamp時点で夏時間が適用されているかどうか。 |
timestamp | 整数 | 対象の時点。 |
local_time | 文字列 | オフセット付きのRFC 3339形式の現地時刻。 |
country_code | 文字列またはnull | ISO 3166-1 alpha-2。海上ではnull。 |
is_ocean | 真偽値 | 公海で使われるEtc/GMTゾーンの場合はtrue。 |
windows_timezone | 文字列またはnull | CLDRによる対応するWindowsのタイムゾーンID(例:W. Europe Standard Time)。 |
next_transition | オブジェクトまたはnull | timestamp以降の次のオフセット変更(そのゾーンにある場合)。 |
注意事項
- IANA名を保存し、時刻の変換にはお使いのプラットフォームのtzデータベースを使ってください。オフセットのフィールドは、表示用や、tzデータベースのないシステムで使います。
- オフセットと夏時間のルールはIANAタイムゾーンデータベースに従い、新しいリリースが公開されるたびに更新されます。
- 境界は約55 mに簡略化されているため、陸上の国境から数メートル以内の地点は隣のゾーンと判定される場合があります。領海と外洋にも対応しており、沖合の地点には航海用のゾーン(
Etc/GMT+3など)が返ります。
他のプロバイダーの形式での同じ検索
これらのプロバイダー向けに書いたコードがすでにある場合は、そのまま使えます。互換ホストは同じパスとパラメータを受け付け、このエンドポイントを背後に使って、そのプロバイダーのレスポンス形式で応答します。互換ホストの仕組みをご覧ください。
| プロバイダー | ホスト | パス |
|---|---|---|
| Googleマップ・プラットフォーム(Google Maps Platform) | gapi.mygeocode.com | /maps/api/timezone/json?location=lat,lng×tamp=...&language=.. |
| Bing Maps RESTサービス | 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=... |
エラー
latまたはlonがないか範囲外の場合、tzが既知のゾーンでない場合、地点が100を超える場合、またはtimestampが1900から2100の範囲外の場合は400 invalid_request。境界データが読み込まれていない場合は503 unavailableで、何も数えられません。