在Android上将GMT +日期转换为本地

时间:2016-11-10 13:56:17

标签: android date gmt

我需要将日期转换为11月14日格林威治标准时间13:36:01和2016年03月03日之间的日期。所以一定是16:36:01

Date serverDate; // Mon Nov 14 13:36:01 GMT+03:00 2016

SimpleDateFormat dateFormat = new SimpleDateFOrmat("hh:mm:ss");
String result = dateFormat.formatDate(serverDate);

结果没有看到GMT +03:00并给我错误的时间(13:36而不是16:36)。

1 个答案:

答案 0 :(得分:0)

所以我只需要创建没有ZZZZZ的格式化程序并将时区设置为GMT。

    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.getDefault());
    simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
    final Date localDate = simpleDateFormat.parse("2016-11-11T09:48:24-05:00");

    SimpleDateFormat dateFormat = new SimpleDateFOrmat("hh:mm:ss");
    String result = dateFormat.formatDate(localDate); //12:48:24

在localDate变量的代码时间之后将是12:48:24(在GMT +03:00的情况下)。