我正在尝试使用谷歌时区API。我提供经度和纬度,API给我时区。
如何使用以下值(dstOffset和rawOffset)获得本地时间?
这是Json
{
"dstOffset" : 0.0,
"rawOffset" : -28800.0,
"status" : "OK",
"timeZoneId" : "America/Los_Angeles",
"timeZoneName" : "Pacific Standard Time"
}
我已经尝试了这个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);
感谢您的帮助
你很接近了。问题在这一行:
var nd = new Date(utc + (3600000*offset));
Json给出的偏移量似乎以秒为单位;你把它当作小时来处理。将其更改为以下内容,它应该开始工作:
var nd = new Date(utc + (1000*offset));
这是工作的jsFiddle