Веб-сервис – текущий часовой пояс для города?

Существует ли какой-либо веб-сервис (или каким-либо другим способом), чтобы вытащить текущие настройки часового пояса для (США) города. Для частей страны, которые не следуют за летним временем и в основном прыгают, когда все остальные переключают летнее / зимнее время … Я не хочу создавать собственную базу данных мест, которые не следуют DST. Есть ли способ получить данные по запросу?

Мне это нужно для сервера базы данных (а не для клиентских рабочих станций) – там сущности хранятся в базе данных, которые имеют City, State as properties. Мне нужно знать текущий часовой пояс для этих лиц в любой момент времени.

earthtools.org предоставляет бесплатный веб-сервис для получения часового пояса из города:

http://www.earthtools.org/webservices.htm#timezone

Вы просто передаете значения long / lat как это: (Это для Нью-Йорка)

http://www.earthtools.org/timezone-1.1/40.71417/-74.00639


РЕДАКТИРОВАТЬ:

Кажется, земляные орехи были закрыты. Хорошая альтернатива (это не было в 2008 году, когда был дан ответ на этот вопрос) является API-интерфейсом Google Time Zone. Чтобы использовать его, вы должны сначала активировать API часового пояса в своей учетной записи. Это бесплатно, если вы останетесь ниже этих ограничений:

  • 2500 запросов за 24 часа.
  • 5 запросов в секунду.

Документация доступна в Google Developers.

Мы столкнулись с одной и той же проблемой, и, наряду с замечательными предложениями выше, у Google есть два дополнительных API: один для Time Zone из данных геокода (широта / долгота) и API геокодирования.

Например, чтобы получить часовой пояс и смещение для Сан-Франциско:

1) Преобразование города в геокодированное местоположение:

http://maps.googleapis.com/maps/api/geocode/json?address=San%20Francisco,+CA&sensor=false

Геокодированное местоположение находится в данных возврата JSON:

"location": { "lat": 37.77492950, "lng": -122.41941550 } 

2) Преобразование геокодированного местоположения в локальный часовой пояс и смещение, если таковые имеются:

https://maps.googleapis.com/maps/api/timezone/json?location=37.77492950,-122.41941550&timestamp=1331161200&sensor=false

Что возвращает текущую информацию о часовом поясе:

 { "status": "OK", "dstOffset": 0.0, "rawOffset": -28800.0, "timeZoneId": "America/Los_Angeles", "timeZoneName": "Pacific Standard Time" } 

Часовые пояса для региона могут меняться по разным причинам. Поэтому неплохо найти авторитетное серверное решение, а не кеш. Дополнительную информацию см. В статье о часовом поясе Википедии .

Geonames.org имеет замечательный набор мирских данных, ansible через webservice или загружаемый:

http://www.geonames.org/export/ws-overview.html

В частности

http://www.geonames.org/export/web-services.html#timezone

,

Информация о часовом поясе Earthtool не обновляется … для экземпляра текущее смещение Шри-Ланки составляет +5,5 от GMT, но EarthTools показывает как +6, которое было старым смещением до 2005 года.

Я предлагаю GeoNames.org .

WorldTimeServer.com представляет собой всеобъемлющую базу данных часовых поясов, доступ к которой вы можете получить в различных форматах, включая компонент .NET для использования в Интернете.

Нет связи, просто нужно было исследовать то же самое в последнее время.

Простая автономная библиотека: APTimeZones

Чтобы найти часовой пояс для местоположения, которое вы можете использовать, например API API часовых поясов API Карт Google. К сожалению, это требует от вас запроса удаленного сервиса, и вы подпадаете под их пределы.

Вот библиотека rom Alterplay под названием APTimeZones (Git прилагается), которая позволяет вам извлекать NSTimeZone из заданного местоположения без необходимости подключения к удаленной службе. APTimeZones работает, запрашивая локальный список часовых поясов (входит в библиотеку).

Если кто-то столкнется с этим вопросом.

  • Вы можете использовать Google API для поиска адреса. Это возвращает широту / логичность. С учетом этих значений вы можете найти ближайший часовой пояс, используя, например, PHP.

  • Или вы можете использовать API как timezoneapi.io (я за этим), который позволяет вам искать адрес / город / страну. Он возвращает адрес, информацию о часовом поясе и текущую дату / время для данного часового пояса.

https://timezoneapi.io/developers/address

Я нашел бесплатную загружаемую базу данных здесь: http://citytimezones.info/

[edit] … но более точную информацию (включая источники), основанную на базе Olson DB, можно найти здесь: http://en.wikipedia.org/wiki/Tz_database

Я знаю, что на это дан ответ, но я отправляю этот ответ, поскольку люди все еще могут найти его полезным. Выбранный ответ не работает успешно сейчас.

У Google есть свой собственный сервис, который является очень надежным и простым в использовании и выводит информацию в формате JSON. Это даже позволяет указать время, например, получить часовой пояс в 02/02/2013 на Мальте.

https://developers.google.com/maps/documentation/timezone/

Google, 2500 бесплатных запросов в день https://developers.google.com/maps/documentation/timezone/

  • Как хранить дату и время и временные метки в часовом поясе UTC с JPA и Hibernate
  • ORA-01882: область часового пояса не найдена
  • Как получить смещение часовой пояс в GMT (как GMT + 7: 00) с устройства Android?
  • Изменение часового пояса MySQL?
  • Преобразование между локальными временами и GMT / UTC в C / C ++
  • Как мне заполнить список часовых поясов IANA / Olson от Noda Time?
  • Как изменить часовой пояс mysql в java-соединении
  • Могу ли я получить часовой пояс браузера в ASP.NET или мне нужно полагаться на операции JS для извлечения информации?
  • Как справиться с летней экономией, используя TimeZone в Java
  • Как установить часовой пояс MySQL?
  • Как обрабатывать календарные часовые пояса с помощью Java?
  • Давайте будем гением компьютера.