google map Time Zone get local time

api, javascript, timestamp-with-timezone, timezone

Solution

You're close. The problem is in this line:

var nd = new Date(utc + (3600000*offset));

The offset given by the Json appears to be in seconds; you are treating it as though it is in hours. Change it to the following and it should start working:

var nd = new Date(utc + (1000*offset));

Here is the working jsFiddle.

Problem

I'm trying to use google Time Zone API. I provide the longitude and latitude and the API give me the timezone. How can I get the local time with this following value (dstOffset and rawOffset) ? Here is the Json ``` { "dstOffset" : 0.0, "rawOffset" : -28800.0, "status" : "OK", "timeZoneId" : "America/Los_Angeles", "timeZoneName" : "Pacific Standard Time" } ``` I have tried this javascript function but I don't get the correct time. ``` 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); ``` Thanks for your help !

Original source