タイムゾーン
Time Zone API リクエストは URL 文字列として作成されます。API は、緯度/経度のペアで指定された地球上の地点のタイムゾーン データを返します。海などの水上の場所では、タイムゾーン データを利用できない場合があります。
タイムゾーン リクエストの形式は次のとおりです。
https://maps.googleapis.com/maps/api/timezone/outputFormat?parameters
ここで、outputFormat には次のいずれかの値を指定できます。
json(推奨): JavaScript Object Notation(JSON)で出力することを示します。xmlは、XML での出力を示し、<TimeZoneResponse>ノード内にラップされます。
注: URL は、有効にするために適切にエンコードする必要があります。また、すべてのウェブサービスで 16,384 文字に制限されています。URL を作成する際は、この上限に注意してください。ブラウザ、プロキシ、サーバーによって URL の文字数上限が異なる場合もあります。
必須パラメータ
-
ロケーション
検索する場所を表すカンマ区切りの緯度と経度のタプル
location=39.6034810,-119.6822510。 -
timestamp
目的の時刻(1970 年 1 月 1 日午前 0 時(UTC)からの経過秒数)。Time Zone API は、
locationのタイムゾーンに基づいて、夏時間を適用するかどうかをtimestampを使用して判断します。API では過去のタイムゾーンは考慮されません。つまり、過去のタイムスタンプを指定した場合、API は、その場所が以前に別のタイムゾーンに存在していた可能性を考慮しません。
オプション パラメータ
-
language
結果を返す言語。
- サポートされている言語の一覧をご覧ください。サポート対象の言語は頻繁に更新されるため、このリストで網羅されていない場合があります。
-
languageが指定されていない場合、API はAccept-Languageヘッダーで指定された優先言語を使用しようとします。 - API は、ユーザーと地元住民の両方が読める番地を可能な限り提供します。この目標を達成するため、優先言語を考慮し、必要に応じてユーザーが読める文字に音訳して、現地の言語で住所を返します。その他の住所はすべて、優先言語で返されます。住所コンポーネントはすべて同じ言語で返されます。この言語は最初のコンポーネントから選択されます。
- 優先言語で名前が使用できない場合、API は最も近い一致を使用します。
- 優先言語は、API が返す結果のセットと、それらが返される順序にわずかな影響を与えます。ジオコーダーは、言語によって略語(通りの種類の略語など)の解釈が異なります。また、ある言語では有効でも別の言語では有効でない同義語もあります。たとえば、ハンガリー語では utca と tér は通りの同義語です。
タイムゾーンの例
このセクションでは、API の機能を説明するいくつかのクエリの例を示します。
次のクエリは、米国ネバダ州のタイムゾーン リクエストを実行します。タイムスタンプは 2024 年 12 月 5 日に設定されます。
URL
https://maps.googleapis.com/maps/api/timezone/json ?location=39.6034810%2C-119.6822510 ×tamp=1733428634 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810%2C-119.6822510×tamp=1733428634&key=YOUR_API_KEY'
JSON
{ "dstOffset": 0, "rawOffset": -28800, "status": "OK", "timeZoneId": "America/Los_Angeles", "timeZoneName": "Pacific Standard Time", }
XML
<TimeZoneResponse> <status>OK</status> <raw_offset>-28800.0000000</raw_offset> <dst_offset>0.0000000</dst_offset> <time_zone_id>America/Los_Angeles</time_zone_id> <time_zone_name>Pacific Standard Time</time_zone_name> </TimeZoneResponse>
次のクエリは、米国ネバダ州のタイムゾーン リクエストを実行します。位置情報は上記のリクエストと同じですが、タイムスタンプは 2024 年 3 月 15 日に設定されています。このレスポンスには夏時間のオフセットが含まれます。
URL
https://maps.googleapis.com/maps/api/timezone/json ?location=39.6034810%2C-119.6822510 ×tamp=1710547034 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810%2C-119.6822510×tamp=1710547034&key=YOUR_API_KEY'
JSON
{ "dstOffset": 3600, "rawOffset": -28800, "status": "OK", "timeZoneId": "America/Los_Angeles", "timeZoneName": "Pacific Daylight Time", }
XML
<TimeZoneResponse> <status>OK</status> <raw_offset>-28800.0000000</raw_offset> <dst_offset>3600.0000000</dst_offset> <time_zone_id>America/Los_Angeles</time_zone_id> <time_zone_name>Pacific Daylight Time</time_zone_name> </TimeZoneResponse>
この例は上記の 2 つの例と似ていますが、言語パラメータを設定しています。このレスポンスはスペイン語にローカライズされます。
URL
https://maps.googleapis.com/maps/api/timezone/json ?language=es &location=39.6034810%2C-119.6822510 ×tamp=1710547034 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810%2C-119.6822510×tamp=1710547034&language=es&key=YOUR_API_KEY'
JSON
{ "dstOffset": 3600, "rawOffset": -28800, "status": "OK", "timeZoneId": "America/Los_Angeles", "timeZoneName": "hora de verano del Pacífico", }
XML
<TimeZoneResponse> <status>OK</status> <raw_offset>-28800.0000000</raw_offset> <dst_offset>3600.0000000</dst_offset> <time_zone_id>America/Los_Angeles</time_zone_id> <time_zone_name>hora de verano del Pacífico</time_zone_name> </TimeZoneResponse>
タイムゾーンのレスポンス
リクエストが有効な場合、タイムゾーンはリクエスト URL で指定された形式でレスポンスを返します。
TimeZoneResponse
| フィールド | 必須 | タイプ | 説明 |
|---|---|---|---|
|
required | TimeZoneStatus | 詳しくは、TimeZoneStatus をご覧ください。 |
|
省略可 | 数値 |
夏時間のオフセット(秒単位)。指定された |
|
省略可 | 文字列 |
指定されたステータス コードの理由に関する詳細情報。ステータスが |
|
省略可 | 数値 |
指定された場所の UTC からのオフセット(秒単位)。この期間では夏時間が考慮されません。 |
|
省略可 | 文字列 |
タイムゾーンの ID を含む文字列(例: America/Los_Angeles、Australia/Sydney)。これらの ID は、Unicode 共通ロケール データ リポジトリ(CLDR)プロジェクトで定義されており、現在は timezone.xml ファイルで利用できます。タイムゾーンに複数の ID がある場合は、正規の ID が返されます。XML レスポンスでは、これは各タイムゾーンの最初のエイリアスです。たとえば、「Asia/Kolkata」ではなく「Asia/Calcutta」が返されます。 |
|
省略可 | 文字列 |
タイムゾーンの正式名称。言語パラメータが設定されている場合、このフィールドはローカライズされます。例: |
TimeZoneStatus
タイムゾーン レスポンス オブジェクト内の status フィールドには、リクエストのステータスが含まれます。status フィールドには次の値が含まれることがあります。
-
OKは、リクエストが成功したことを示します。 -
INVALID_REQUESTは、リクエストの形式が正しくないことを示します。 -
OVER_DAILY_LIMITは、次のいずれかを示します。- API キーがないか、無効です。
- アカウントで課金が有効になっていません。
- ご自身で設定した使用量の上限を超えている
- 設定したお支払い方法が無効になっている(クレジット カードの期限切れなど)。
-
OVER_QUERY_LIMITは、リクエストが割り当て量を超えたことを示します。 -
REQUEST_DENIEDは、API がリクエストを完了しなかったことを示します。リクエストが HTTP ではなく HTTPS 経由で送信されたことを確認します。 -
UNKNOWN_ERRORは、不明なエラーを示します。 -
ZERO_RESULTSは、指定された位置または時間でタイムゾーン データが見つからなかったことを示します。リクエストが陸上の場所を対象としており、水上ではないことを確認します。
現地時間の計算
特定の場所の現地時間は、timestamp パラメータと、結果の dstOffset フィールドと rawOffset フィールドの合計です。