首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Web服务-一个城市的当前时区?

Web服务-一个城市的当前时区?
EN

Stack Overflow用户
提问于 2008-09-11 06:30:05
回答 8查看 90.1K关注 0票数 54

是否有某种web服务(或任何其他方式)来获取(美国)城市的当前时区设置。对于不遵循夏令时的国家部分地区,当其他人都在转换夏季/冬季时间时,基本上是跳转时区……我不想创建自己的数据库不遵循DST的地方。有没有一种方法可以按需提取这些数据?

我需要这个数据库服务器(而不是客户端工作站)-有实体存储在数据库中,有城市,州作为属性。我需要知道这些实体在任何时刻的当前时区。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2008-09-11 06:43:53

earthtools.org提供了一个免费的web服务,可以从以下城市获取时区:

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

您只需像这样传入long/lat值:(这是针对纽约的)

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

编辑:

似乎土方工具已经被关闭了。一个很好的替代方案(在2008年回答这个问题时还不存在)是Google Time Zone API。要使用它,您必须首先在您的帐户上使用activate the Time Zone API。如果你低于以下限制,它是免费的:

每24小时周期内

  • 2500个请求。
  • 每秒5个请求。

The documentation可以在谷歌开发人员上使用。

票数 47
EN

Stack Overflow用户

发布于 2013-02-21 03:33:12

我们遇到了同样的问题,除了上面的伟大建议之外,Google似乎有两个互补的API,一个是来自地理编码(纬度/经度)数据的时区,另一个是地理编码API。

例如,要获取旧金山的时区和偏移量:

1)将城市转换为地理编码位置:

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

地理编码位置在JSON返回数据中:

代码语言:javascript
复制
"location": {
    "lat":  37.77492950,
    "lng": -122.41941550
}

2)将地理编码位置转换为本地时区和偏移量(如果有):

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

返回当前时区信息:

代码语言:javascript
复制
{
          "status": "OK",
       "dstOffset":  0.0,
       "rawOffset": -28800.0,              
      "timeZoneId": "America/Los_Angeles",
    "timeZoneName": "Pacific Standard Time"
}

由于各种原因,一个地区的时区可能会发生变化。因此,找到一个权威的基于服务器的解决方案而不是缓存是一个好主意。有关详细信息,请参阅Wikipedia's Time Zone article

票数 74
EN

Stack Overflow用户

发布于 2008-09-11 07:14:14

Geonames.org有一组奇妙的世俗数据,可以通过webservice或下载获得:

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

特别是

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

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档