几分钟以来,我一直在摸索谷歌的 Timezone API ,特别是时间戳参数。也许这将列出需求:
在圣地亚哥,由于夏令时,我们(现在是 8 月)的 GMT 偏移量为 -8。但是,在 11 月,我们的 GMT 偏移量将是 -7。
那么谷歌应该返回哪个 GMT 偏移量?-7 还是 -8?它们都是有效的,但这取决于您在哪一天进行测量。
输入时间戳参数。现在运行该服务,并使用August 2015 的时间戳值,我得到以下响应:
{
"dstOffset" : 3600,
"rawOffset" : -28800,
"status" : "OK",
"timeZoneId" : "America/Los_Angeles",
"timeZoneName" : "Pacific Daylight Time"
}
但是,如果我将时间戳增加到 2015 年 11 月(一旦圣地亚哥没有夏令时,我就会得到这个结果):
{
"dstOffset" : 0,
"rawOffset" : -28800,
"status" : "OK",
"timeZoneId" : "America/Los_Angeles",
"timeZoneName" : "Pacific Standard Time"
}
在这两种情况下,rawOffset 都是相同的,但是由于我提供的时间戳,DST 发生了变化。如果您只想知道原始时区,则时间戳无关紧要。
但是,如果您希望应用程序在 8 月的圣地亚哥上午 8:00 和 11 月的圣地亚哥上午 8:00 可靠地执行某项操作,则需要使用时间戳。
换句话说,知道圣地亚哥通常与格林威治标准时间相差 -7 小时有什么价值。如果您使用时区,您可能会尝试确保您的 UTC 时间与该位置的真人所经历的时间相匹配。因此,DST 偏移量至关重要。