code: def getTimeZone(lat, lon):
      
      #Need to fix for Python 2.x and 3.X support
      import urllib.request, urllib.error, urllib.parse
      import xml.etree.ElementTree as ET
      #http://api.askgeo.com/v1/918/aa8292ec06199d1207ccc15be3180213c984832707f0cbf3d3859db279b4b324/query.xml?points=37.78%2C-122.42%3B40.71%2C-74.01&databases=Point%2CTimeZone%2CAstronomy%2CNaturalEarthCountry%2CUsState2010%2CUsCounty2010%2CUsCountySubdivision2010%2CUsTract2010%2CUsBlockGroup2010%2CUsPlace2010%2CUsZcta2010
      req = "http://api.askgeo.com/v1/918/aa8292ec06199d1207ccc15be3180213c984832707f0cbf3d3859db279b4b324/query.xml?points="+str(lat)+"%2C"+str(lon)+"&databases=TimeZone"
      opener = urllib.request.build_opener()
      f = opener.open(req)
      tree = ET.parse(f)
      root = tree.getroot()
      #Check response
      tzid = None
      if root.attrib['code'] == '0':
          tz = list(root.iter('TimeZone'))[0]
          #shortname = tz.attrib['ShortName']
          tzid = tz.attrib['TimeZoneId']
      return tzid
docs: Get timezone for a given lat/lon