Google时区API - 时间戳参数

时间:2013-04-12 14:53:03

标签: timezone timestamp timestamp-with-timezone

在我的客户端应用程序中,我有Latitude&来自天钩API的经度信息基于其I.P。

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

您也可以帮助我了解时间戳对应的内容吗?例如: - 如果我的应用程序服务器位于U.S.A(比如PST时区),它会使google API调用传递服务器时间戳。

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

3 个答案:

答案 0 :(得分:7)

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

在圣地亚哥,由于夏令时,我们(现在,8月份)的GMT偏移为-8。 However, in November we'll have a GMT offset of -7

Google应该返回哪个gmt偏移? -7还是-8?它们都有效,但这取决于您进行测量的那一天。

输入Timestamp参数。现在运行服务,并使用timestamp value of August 2015,我得到了这个回复:

{
   "dstOffset" : 3600,
   "rawOffset" : -28800,
   "status" : "OK",
   "timeZoneId" : "America/Los_Angeles",
   "timeZoneName" : "Pacific Daylight Time"
}

但是,如果我碰到timestamp to November 2015(一旦圣地亚哥没有白天节省,我最终会这样做):

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

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

但如果您希望应用程序在8月份的圣地亚哥上午8:00和11月的圣地亚哥上午8:00可靠地执行某些操作,则需要使用时间戳。

换句话说,知道圣地亚哥通常 -7小时偏离GMT的价值是什么。如果您正在使用时区,那么您可能会尝试确保您的UTC时间与该位置的真人所遇到的相匹配。因此,DST偏移是至关重要的。

答案 1 :(得分:3)

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

如果您不关心这一点,只想要timeZoneId字段,那么您传递的值无关紧要。

答案 2 :(得分:0)

尝试一下

DateDiff("s", "1/1/1970", DateTime.Now)