关于时区:网络服务 – 城市的当前时区?

关于时区:网络服务 – 城市的当前时区?

Web service - current time zone for a city?

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

我需要数据库服务器(而不是客户机工作站)使用它——数据库中存储的实体具有城市、状态为属性。我需要随时知道这些实体的当前时区。


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

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

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

http://maps.googleapis.com/maps/api/geocode/json?地址=旧金山,+CA&SENSOR=FALSE

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

1
2
3
4
"location": {
   "lat":  37.77492950,
   "lng": -122.41941550
}

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

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

返回当前时区信息:

1
2
3
4
5
6
7
{
         "status":"OK",
      "dstOffset":  0.0,
      "rawOffset": -28800.0,              
     "timeZoneId":"America/Los_Angeles",
   "timeZoneName":"Pacific Standard Time"
}

一个地区的时区可能因各种原因而改变。因此,最好找到一个基于服务器的权威解决方案,而不是缓存。有关更多信息,请参阅维基百科的时区文章。


earthtools.org提供免费的网络服务,从这里的城市获取时区:

http://www.earthtools.org/webservices.htm时区

您只需按如下方式传递long/lat值:(这是给纽约的)

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

编辑:

似乎地球工具已经关闭了。谷歌时区API是一个不错的选择(在2008年这个问题被回答时还不存在)。要使用它,您必须首先激活您帐户上的时区API。如果您低于这些限制,它是免费的:

  • 每24小时2500次请求。
  • 每秒5个请求。

该文档可在谷歌开发人员那里获得。


geonames.org有一套很好的世界数据,可通过webservice或下载获得:

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

特别地

http://www.geonames.org/export/web services.html时区

.


地球工具的时区信息不是最新的…例如,斯里兰卡当前的偏移距格林尼治标准时间为+5.5,但EarthTools显示为+6,这是2005年之前的旧偏移距。

我建议geonames.org。


worldtimeserver.com有一个似乎是全面的时区数据库,您可以购买多种格式的访问权限,包括用于Web的.NET组件。

没有联系,只是最近我自己研究了同样的事情。


万一有人碰到这个问题。

  • 你可以使用google api来搜索地址。返回纬度/逻辑。有了这些值,您可以使用PHP等工具找到最近的时区。

  • 或者您可以使用类似于timezoneapi.io的API(我在后面),它允许您搜索地址/城市/国家。它返回该给定时区的地址、时区信息和当前日期/时间。

https://timezoneapi.io/developers/address/开发人员/地址


简单脱机库:apTimeZones

为了找到某个位置的时区,您可以使用谷歌地图API的时区API。不幸的是,这要求您查询远程服务,并且您受到它们的限制。

这里有一个名为apTimeZones(git已连接)的库romalterplay,它允许您从给定位置提取nsTimeZone,而无需连接到远程服务。apTimeZones通过查询本地时区列表(包含在库中)工作。


谷歌,每天2500个免费请求https://developers.google.com/maps/documentation/timezone网站/


我知道这是答案,但我发布这个答案,因为人们可能仍然认为它是有用的-所选的答案目前不起作用。

谷歌有自己的服务,这是非常可靠和易于使用,并输出信息的JSON格式。它甚至允许指定自定义时间,例如获取2013年2月2日在马耳他的时区。

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


我在这里找到了一个免费的可下载数据库:http://citytimezones.info/

[编辑]…但是,基于olson数据库的更准确的信息(包括来源)可以在这里找到:http://en.wikipedia.org/wiki/tz_database


推荐阅读

    linux设置路由器命令?

    linux设置路由器命令?,网络,信息,代码,地址,电脑,工作,环境,系统,密码,路由,l

    linux设置根命令过短?

    linux设置根命令过短?,系统,工作,软件,地址,命令,代码,情况,管理,基础,位置,3

    linux设置路由器命令?

    linux设置路由器命令?,网络,信息,代码,地址,电脑,工作,环境,系统,密码,路由,l

    linux服务器基本命令?

    linux服务器基本命令?,地址,系统,设备,网络,工作,标准,信息,电脑,命令,密码,l

    linux命令大全数据库?

    linux命令大全数据库?,服务,系统,平台,状态,软件,通用,环境,数据,神州,地址,

    linux上数据库的命令?

    linux上数据库的命令?,服务,系统,信息,地址,命令,密码,工具,管理,数据,单位,

    linux命令dm数据库?

    linux命令dm数据库?,地址,软件,时间,设备,名字,服务,位置,名称,公司,命令,lin

    linux服务器下载命令?

    linux服务器下载命令?,服务,密码,系统,档案,工具,网络,公共,百度,地址,认证,l

    linux命令怎么停服务?

    linux命令怎么停服务?,服务,系统,状态,代码,跨行,软件,情况,第一,名称,命令,l

    查看linux类型命令?

    查看linux类型命令?,系统,信息,命令,状态,数据,数字,情况,地址,类型,文件,lin

    linux服务端退出命令?

    linux服务端退出命令?,档案,命令,环境,异常,标准,网络,模式,终端,编辑,文件,l

    linux命令行设置字体?

    linux命令行设置字体?,系统,工具,终端,软件,电脑,数字,位置,等级,字体,命令,L

    linux中启动服务命令?

    linux中启动服务命令?,服务,系统,命令,信息,工作,设备,网络,标准,名称,密码,l

    linux服务器常用命令?

    linux服务器常用命令?,工作,系统,地址,信息,命令,目录,管理,标准,设备,功能,

    linux删除类型命令?

    linux删除类型命令?,系统,档案,命令,文件,名称,环境,数据,不了,目录,文件夹,

    linux命令快捷设置?

    linux命令快捷设置?,第一,系统,名称,终端,发行,首页,命令,快捷键,窗口,桌面,l

    linux筛选服务命令?

    linux筛选服务命令?,服务,系统,状态,软件,环境,主体,技术,号码,发行,名称,查

    linux命令设置扩展屏?

    linux命令设置扩展屏?,工具,系统,电脑,技术,软件,装备,情况,工作,命令,显示

    linux命令设置自启动?

    linux命令设置自启动?,服务,系统,信息,数字,检测,工具,状态,密码,跨行,脚本,l

    linux服务器保存命令?

    linux服务器保存命令?,时间,状态,档案,电脑,命令,信息,位置,编辑,文件,模式,L