當字符串「2017-04-21T17:46:00Z」傳入第一個方法時,生成的格式化日期字符串爲「06:46 2017年4月21日」。爲什麼十一小時的時間移動?輸入字符串由JSON中的HTTP服務器應用程序提供。我認爲Z後綴是指祖魯語,即GMT。JodaTime時區爲什麼會改變日期時間?
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);
}
我懷疑它涉及時區,但它不清楚如何或在哪裏。該代碼在GMT時區的英國Android設備上運行。
不會這項工作'返回新的SimpleDateFormat(DATE_TIME_FORMAT「)格式(dateTimestamp);' –
什麼的System.out.println(DateTimeZone.getDefault())的'輸出;' – 2017-04-27 12:20:40
? @Hugo「Europe/London」 –