Часовой пояс
Запросы к Time Zone API создаются в виде строки URL. API возвращает данные о часовом поясе для точки на земной поверхности, заданной парой значений широты и долготы. Обратите внимание, что данные о часовых поясах могут быть недоступны для местоположений над водой, например над океанами или морями.
Запрос часового пояса имеет следующий вид:
https://maps.googleapis.com/maps/api/timezone/outputFormat?parameters
где outputFormat может принимать одно из следующих значений:
json(рекомендуется) – вывод в формате JavaScript Object Notation (JSON);xml– указывает, что выходные данные должны быть в формате XML и заключены в узел<TimeZoneResponse>.
Примечание. URL должны быть правильно закодированы, чтобы быть действительными. Для всех веб-сервисов длина URL ограничена 16 384 символами. Учитывайте это ограничение при создании URL. Обратите внимание, что в разных браузерах, прокси-серверах и серверах могут действовать разные ограничения на количество символов в URL.
Обязательные параметры
-
местоположение
Кортеж широты и долготы,разделенных запятой,
location=39.6034810,-119.6822510, представляющий местоположение для поиска. -
временная метка
Время в секундах с полуночи 1 января 1970 г. по UTC. API часового пояса использует директиву
timestamp, чтобы определить, нужно ли применять переход на летнее время, на основе часового пояса, указанного в директивеlocation.Обратите внимание, что API не учитывает исторические часовые пояса. То есть если вы укажете временную метку в прошлом, API не будет учитывать возможность того, что местоположение ранее находилось в другом часовом поясе.
Необязательные параметры
-
language
Язык, на котором будут возвращены результаты.
- Вы можете ознакомиться со списком поддерживаемых языков. Google часто обновляет список поддерживаемых языков, поэтому он может быть неполным.
-
Если параметр
languageне указан, API попытается использовать предпочитаемый язык, заданный в заголовкеAccept-Language. - API старается предоставить почтовый адрес, который будет понятен как пользователю, так и местным жителям. Для этого он возвращает адреса улиц на местном языке, при необходимости транслитерируя их в шрифт, который может прочитать пользователь, с учетом предпочитаемого языка. Все остальные адреса возвращаются на предпочитаемом языке. Все компоненты адреса возвращаются на одном языке, который выбирается по первому компоненту.
- Если название на предпочитаемом языке недоступно, API использует ближайшее соответствие.
- Предпочтительный язык незначительно влияет на набор результатов, возвращаемых API, и порядок их следования. Геокодер интерпретирует сокращения по-разному в зависимости от языка, например сокращения типов улиц или синонимы, которые могут быть действительны на одном языке, но не на другом. Например, в венгерском языке слова utca и tér являются синонимами слова "улица".
Примеры часовых поясов
Этот раздел содержит несколько примеров запроса, демонстрирующих возможности API-интерфейса.
В приведенном ниже примере представлен запрос часового пояса для штата Невада, США. Временная метка установлена на 5 декабря 2024 г.
URL
https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510×tamp=1733428634&key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-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>
В приведенном ниже примере представлен запрос часового пояса для штата Невада, США. Местоположение такое же, как и в предыдущем запросе, но временная метка установлена на 15 марта 2024 года. Теперь в ответе указывается смещение для перехода на летнее время.
URL
https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510×tamp=1710547034&key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-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>
Этот пример аналогичен приведенным выше, но в нем также установлен параметр для языка. Ответ будет на испанском языке.
URL
https://maps.googleapis.com/maps/api/timezone/json?language=es&location=39.6034810,-119.6822510×tamp=1710547034&key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-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
| Поле | Обязательно | Тип | Описание |
|---|---|---|---|
|
Обязательно | TimeZoneStatus | Дополнительную информацию можно найти в описании TimeZoneStatus. |
|
необязательно | число |
Смещение для летнего времени в секундах. Если в часовом поясе не используется летнее время, значение будет равно нулю. |
|
необязательно | string |
Подробная информация о причинах, связанных с кодом статуса.
Указывается, если статус отличается от |
|
необязательно | число |
Смещение относительно UTC (в секундах) для указанного местоположения. Переход на летнее время не учитывается. |
|
необязательно | string |
строку с идентификатором часового пояса, например "America/Los_Angeles" или "Australia/Sydney". Эти идентификаторы определены в проекте Unicode Common Locale Data Repository (CLDR) и в настоящее время доступны в файле timezone.xml. Если у часового пояса несколько идентификаторов, возвращается канонический. В ответах в формате XML это первый псевдоним каждого часового пояса. Например, возвращается "Asia/Calcutta", а не "Asia/Kolkata". |
|
необязательно | string |
Полное название часового пояса. Если задан параметр языка, это поле будет локализовано. Пример:
|
TimeZoneStatus
Поле status в объекте ответа "Часовой пояс" содержит статус запроса. Поле status может содержать следующие значения:
-
OKуказывает, что запрос был выполнен успешно. -
INVALID_REQUESTозначает, что запрос был сформирован неправильно. -
OVER_DAILY_LIMIT– это один из следующих значков:- Ключ API отсутствует или недействителен.
- В вашем аккаунте не включены платежные функции.
- Превышено заданное ограничение на использование.
- Указанный способ оплаты больше не действует (например, истек срок действия кредитной карты).
-
OVER_QUERY_LIMITозначает, что запрашивающее приложение превысило квоту. -
REQUEST_DENIEDозначает, что API не выполнил запрос. Убедитесь, что запрос был отправлен с использованием протокола HTTPS, а не HTTP. -
UNKNOWN_ERRORозначает неизвестную ошибку. -
ZERO_RESULTS– для указанной позиции или времени не удалось найти данные о часовом поясе. Убедитесь, что запрос относится к местоположению на суше, а не на воде.
Как рассчитывается местное время
Местное время в определенном местоположении – это сумма параметра timestamp и полей dstOffset и rawOffset из результата.