我試圖將Date
字符串轉換爲日期,但是SimpleDateFormat.parse
在添加時間時不會返回任何內容。SimpleDateFormat解析不會返回任何時間
這是日期字符串:
String dateInString = news.getDate();
Log.e(TAG, "Date in String: " + dateInString);
Date in String: 2015-08-19T06:21:59+01:00 //Result
當我這樣做:
DateFormat format
= new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
Date date;
try {
date = format.parse(dateInString);
Log.e(TAG, "Formatted date: " + date);
} catch (ParseException e) {
e.printStackTrace();
}
我得到的結果是:Formatted date: Wed Aug 19 01:00:00 GMT+01:00 2015
如果我的時間增加的SimpleDateFormat:
DateFormat format
= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH);
代碼甚至沒有通過嘗試,也沒有拋出任何異常。沒有任何打印。
我都試過,沒有運氣加上TimeZone
:
TimeZone timeZone = TimeZone.getTimeZone("UTC+01"); //also tried GMT+1:00, UTC+1:00 and UTC
DateFormat format
= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH);
format.setTimeZone(timeZone);
try {
date = format.parse(dateInString);
Log.e(TAG, "Formatted date: " + date);
} catch (ParseException e) {
e.printStackTrace();
}
任何指針?
'yyyy-MM-dd'T'HH:mm:ssXXX'模式應該適用於您的格式。並且設置時區可以省略,因爲它在日期/時間字符串中定義。 –
@SashaSalauyou我使用你的建議得到一個'java.lang.IllegalArgumentException:未知模式字符'X''。安迪的工作,但我不知道他爲什麼刪除他的評論 –
'X'是自Java 1.7以來的可用! –