【问题标题】:Get TimeZone by lat and long in android?在 android 中按 lat 和 long 获取 TimeZone?
【发布时间】:2017-08-19 03:43:08
【问题描述】:

我需要 lat,long 的时区,因为我发现这篇文章很有帮助Get Time Zone From Lat Long。如此链接中所述,如果我使用Google Api,那么它的响应是

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

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

【问题讨论】:

    标签: android google-maps datetime timezone latitude-longitude


    【解决方案1】:

    这条线可以帮助你.....

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

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

    【讨论】:

    • 这不是确切的答案,但你应该明白
    • 你能解释一下代码行吗,我对时区不太了解
    • 你去@KulwinderSinghRahal 我更新了我的答案
    • 我假设你熟悉 JSON 解析
    • 你能否建议我在没有谷歌 api 的情况下从 lat long 获取 RawOffset 和 DstOffset 的更好方法
    猜你喜欢
    • 2015-05-20
    • 1970-01-01
    • 2015-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-03
    相关资源
    最近更新 更多