当字符串“2017-04-21T17:46:00Z”被传递到第一个方法时,生成的格式化日期字符串为“06:46 21 Apr 2017”。为什么一小时会移动十一小时?输入字符串由 HTTP 服务器应用程序以 JSON 格式提供。我以为 Z 后缀指的是祖鲁语,即 GMT。
private static final String DATE_TIME_FORMAT = "hh:mm dd MMM yyyy";
public static String formatTimestamp(String dateTimestamp) {
DateTime dateTime = getDateTimeFromTimestamp(dateTimestamp);
DateTimeFormatter fmt = DateTimeFormat.forPattern(DATE_TIME_FORMAT);
return fmt.print(dateTime);
}
private static DateTime getDateTimeFromTimestamp(String dateTimestamp) {
return new DateTime(dateTimestamp);
}
我怀疑它与时区有关,但不清楚如何或在哪里。该代码在英国的 Android 设备上运行,采用 GMT 时区。