如何获取当前的GMT值?

时间:2011-05-26 04:31:24

标签: android timezone

在我的应用中,我使用GeoNamesAPI在任何位置获取当前时间。 我已注册使用它。

我的代码如下:

Timezone currentTimeZone;
org.geonames.WebService.setUserName("mathew");
currentTimeZone = GeoNamesAPI.fetchTimeZone(latitude, longitude);

问题是当我在任何海洋检查时间时,此currentTimeZone返回null。 所以在这种情况下,我会显示GMT值。

String time = null;
Integer timeZone = (int) (((longitude / 7.5) + 1) / 2);

if (timeZone >= 0) {
    time = "GMT+" + timeZone;
} else {
    time = "GMT" + timeZone;
}

因此time值将是GMT + somevalue类型。我想为这种情况找到另一种解决方案。在这种情况下,我也想显示时间值。我怎样才能做到这一点?有没有办法获得GMT值?注意:我不想只显示日期。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我明白了。代码如下:

Integer timeZone = (int) (((longitude / 7.5) + 1) / 2);
DateFormat dateformat = DateFormat.getTimeInstance(DateFormat.SHORT);
dateformat.setTimeZone(TimeZone.getTimeZone("gmt"));
Calendar cal = Calendar.getInstance();
cal.add(Calendar.HOUR, timeZone);   //Adding/Subtracting hour to current date time
String newdate = dateformat.format(cal.getTime());