【发布时间】:2018-11-25 20:52:58
【问题描述】:
我想检索印度的 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×tamp=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);
【问题讨论】:
-
请编辑您的问题,因为
rawOffset已记录在案:developers.google.com/maps/documentation/timezone/… -
其实先生,我想得到印度的GMT(5.5),请问如何得到。
-
由于
rawOffset以秒为单位,将这个数字除以 3600 秒(一小时的秒数)得到 UTC 小时有什么问题?并且 UTC 与 GMT 相同。 -
好的,我知道了,谢谢先生。
-
我还检查了亚洲/喀布尔,其中 "rawOffset" : 16200 并将其与 3600 相除,结果为 4.5,但亚洲/喀布尔的格林威治标准时间为 4.30。
标签: java android google-maps google-maps-timezone