在 android 将 GMT+ 日期转换为本地日期
Convert GMT+ date to local on android
我需要将 Mon Nov 14 13:36:01 GMT+03:00 2016 等日期转换为本地日期。所以一定是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)。
所以我只需要创建没有 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(在我的格林威治标准时间 +03:00 的情况下)。
我需要将 Mon Nov 14 13:36:01 GMT+03:00 2016 等日期转换为本地日期。所以一定是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)。
所以我只需要创建没有 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(在我的格林威治标准时间 +03:00 的情况下)。