如何使用Google时区API获取GMT

时间:2018-06-16 05:31:30

标签: java android google-maps google-maps-timezone

我想检索印度的GMT(5.5)或其他国家/地区。以下是我使用Google Time Zone API的代码,即将发布的响应是dstoffset,rawOffset,status,timeZoneId,timeZoneName。我的问题是如何获得GMT(5.5)谢谢

 final String registerURL = "https://maps.googleapis.com/maps/api/timezone/json?location=30.293461,78.524094&timestamp=1331161200&key=API_KEY";
            StringRequest stringRequest = new StringRequest(Request.Method.POST, registerURL, new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    try {
                        JSONObject obj = new JSONObject(response);
                        String s1 = obj.getString("dstOffset");
                        String s2 = obj.getString("rawOffset");
                        String s3 = obj.getString("status");
                        String s4 = obj.getString("timeZoneId");
                        String s5 = obj.getString("timeZoneName");
                        TimeZone tz1 = TimeZone.getTimeZone(s4);
                        TimeZone tz2 = TimeZone.getTimeZone(s4);
                        tvTimeZone.setText(String.valueOf(tz2));

                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            }, new Response.ErrorListener() {
                        @Override
                        // Handles errors that occur due to Volley
                        public void onErrorResponse(VolleyError error) {
                            Log.e("Volley", "Error");
                        }
                    }
            );

            RequestQueue requestQueue = Volley.newRequestQueue(MainActivity.this);
            requestQueue.add(stringRequest);

1 个答案:

答案 0 :(得分:2)

  

rawOffset是给定位置与UTC的偏移量(以秒为单位)。

由于UTC和GMT之间没有时差,将rawOffset除以3600即可获得所请求时区的GMT时间。

显然,当除以3600时,答案是在hour:min对中的小时内。因此,如果您获得输出,例如4.50,那么实际上4.5 hours4:30 hours (4 hours 30 minutes)相同。