Google时区API - 时间戳参数

use*_*857 9 timezone timestamp timestamp-with-timezone

在我的客户端应用程序中,我根据其IP获取来自skyhook API的纬度和经度信息

现在根据纬度和经度信息,我需要找出客户端的时区信息.但是在Google时区API文档https://developers.google.com/maps/documentation/timezone/中,我看到时间戳是必填字段.在哪种情况下我应该做什么.

还能帮助我理解时间戳对应的内容吗?例如: - 如果我的应用程序服务器位于美国(比如PST时区),它会使google API调用传递服务器时间戳.

如果用户从印度传入lat/long信息登录到客户端应用程序,则向应用服务器获取时区信息API将提供什么作为dstOffset和rawOffset?即如果我使用dstOffset和rawOffset添加服务器时间戳,我将获取客户端机器时区信息?

Eri*_*ric 7

我一直在Google的Timezone API上摸不着头几分钟,特别是在timestamp参数上.也许这将满足需要:

在圣地亚哥,由于夏令时,我们(现在,8月份)的GMT偏移为-8.然而,在11月,我们的GMT偏移量为-7.

那么谷歌将返回哪个gmt抵消?-7还是-8?它们都有效,但这取决于您进行测量的那一天.

输入Timestamp参数.现在运行服务,并使用2015年8月时间戳值,我收到此回复:

{
   "dstOffset" : 3600,
   "rawOffset" : -28800,
   "status" : "OK",
   "timeZoneId" : "America/Los_Angeles",
   "timeZoneName" : "Pacific Daylight Time"
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我把时间戳到2015年11月(一旦圣地亚哥没有夏令时,我最终会这样做):

{
   "dstOffset" : 0,
   "rawOffset" : -28800,
   "status" : "OK",
   "timeZoneId" : "America/Los_Angeles",
   "timeZoneName" : "Pacific Standard Time"
}
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,rawOffset都是相同的,但由于我提供的时间戳,DST发生了变化.如果您只想知道原始时区,则时间戳无关紧要.

但是如果你想要一个应用程序在8月的圣地亚哥上午8点和11月的圣地亚哥上午8点可靠地做某事,你需要参与时间戳.

换句话说,了解圣地亚哥通常比格林威治标准时间偏离7小时的价值.如果您正在使用时区,那么您可能会尝试确保您的UTC时间与该位置的真人所遇到的相匹配.因此,DST偏移是至关重要的.


Mat*_*int 3

您提供的文档链接明确指出时间戳应采用 UTC 格式,并且用于显示正确的 DST 偏移值。它还将控制该timeZoneName字段的名称中是否显示“标准”或“日光”。

如果您不关心这一点而只想要该timeZoneId字段,那么您传递什么值并不重要。