We ran into the same problem, and along with the great suggestions above, Google has two additional APIs: one for the Time Zone from the geocode (latitude / longitude) and the geocode API.
For example, to get the time zone and offset for San Francisco:
1) Convert a city to a geocoded location:
http://maps.googleapis.com/maps/api/geocode/json?address=San%20Francisco,+CA&sensor=false
The geocoded location is in the JSON return data:
"location": { "lat": 37.77492950, "lng": -122.41941550 }
2) Convert a geocoded location to a local time zone and offset, if any:
https://maps.googleapis.com/maps/api/timezone/json?location=37.77492950,-122.41941550×tamp=1331161200&sensor=false
Returns current timezone information:
{ "status": "OK", "dstOffset": 0.0, "rawOffset": -28800.0, "timeZoneId": "America/Los_Angeles", "timeZoneName": "Pacific Standard Time" }
The time zones for a region can vary for various reasons. Therefore, it’s nice to find a reputable server solution, not a cache. For more information, see the article in the Wikipedia time zone .
Mike Davis Feb 20 '13 at 19:33 2013-02-20 19:33
source share