在我的客户端应用程序中,我有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添加服务器时间戳,我将获取客户端机器时区信息?
答案 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)