在 android 中按纬度和经度获取时区?

Get TimeZone by lat and long in android?

我需要经纬度的时区,因为我发现这个 post 很有帮助 Get Time Zone From Lat Long. As described in this link if I use Google Api 然后它的响应是

 {
        "dstOffset" : 3600,
       "rawOffset" : -18000,
       "status" : "OK",
       "timeZoneId" : "America/New_York",
       "timeZoneName" : "Eastern Daylight Time"
    }

但我的要求是,如果印度的时区是 5:30,那么我需要它是 5.5 或者如果任何国家/地区时区是 7:0,则 7.0。我的问题是如何按照上面指定的自定义形式从经纬度获取时区

这条线可能对你有帮助.....

double zone = (responseObject.get("rawOffset").getAsInt() + responseObject.get("dstOffset").getAsInt()) / 3600.0;

从响应中获取 rawOffset 和 dstOffset 并将它们相加,然后将它们除以 3600..... rawOffset 是以秒为单位的 GMT +- 时区,dstOffset 是以秒为单位的夏令时偏移量(如果一个国家/地区有 dst它将是 3600 否则 0)