2015-08-26 181 views
-3

您好我正在分析這個日期字符串:「Tue Aug 25 14:06:30 2015」using Java。這裏是我的代碼,我一直在第一行得到一個不可分析日期錯誤:在Java中解析日期

d1 = new SimpleDateFormat("E MM dd HH:mm:ss yyyy").parse("Tue Aug 25 14:06:30 2015"); 
SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm"); 

Calendar cal = Calendar.getInstance(); 
cal.setTime(d1); 
String newTime = df.format(cal.getTime()); 
+2

檢查什麼'MM'意味着你格式的文本,VS,你希望它是什麼意思。另外請注意,您應該指定區域設置並可能指定時區。 –

+3

查看示例[here](https://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html)。你可能需要'EEE MMM dd HH:mm:ss yyyy'。 –

回答

1

爲了解析當月縮寫文本,則需要3個M字符,而不是2,這需要一個數字,如08。根據Javadocs for SimpleDateFormat

月份:如果模式字母的數量是3或更多,月份被解釋爲文本;否則,它被解釋爲一個數字。

嘗試:

d1 = new SimpleDateFormat("E MMM dd HH:mm:ss yyyy").parse("Tue Aug 25 14:06:30 2015");