谷歌地图时区获取当地时间

use*_*696 3 javascript api timezone timestamp-with-timezone

我正在尝试使用谷歌时区API.我提供经度和纬度,API给我时区.

如何使用以下值(dstOffset和rawOffset)获取当地时间?

这是Json

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

我试过这个javascript函数,但我没有得到正确的时间.

function calcTime(offset) {
    var d = new Date();
    var utc = d.getTime() + (d.getTimezoneOffset() * 60000);
    var nd = new Date(utc + (3600000*offset));

    alert("The local time is " + nd.toLocaleString());
}

calcTime(-28800.0);
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助 !

Bri*_*ers 5

你很亲密 问题出在这一行:

var nd = new Date(utc + (3600000*offset));
Run Code Online (Sandbox Code Playgroud)

Json给出的偏移似乎是几秒钟; 你把它当作几个小时就好了.将其更改为以下内容,它应该开始工作:

var nd = new Date(utc + (1000*offset));
Run Code Online (Sandbox Code Playgroud)

这是工作的jsFiddle.