2012-07-17 21 views
0
SimpleDateFormat formatter = new SimpleDateFormat("mm/dd/yyyy"); 
dt = formatter.parse(temp[0]); 

給我的錯誤字符串 「30-MAR-07」 轉換爲日期對象

java.text.ParseException:無法解析的日期: 「30-MAR-07」

有什麼辦法我可以將給定的字符串格式化爲Date對象,而無需編寫自己的字符串拆分和轉換爲月份數字的方法?由於

+6

以什麼方式你能指望「30-MAR-07 「匹配格式」mm/dd/yyyy「? – 2012-07-17 17:12:30

+0

爲什麼不閱讀SDF的javadocs然後問? – 2012-07-17 17:13:15

回答

10

使用正確的格式,如下所示,

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yy"); 
6

SimpleDateFormat模式是完全不正確的 「30-MAR-07」。它的順序錯誤,使用了錯誤的分隔符和錯誤的月份格式。您想要:

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yy"); 

您可能還想指定區域設置,例如,

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yy", Locale.US); 

我已經檢查了這個作品 - 至少在我的機器:)

-1

試試這個...上(new SimpleDateFormat("dd-MMM-yy")

System.out.println(new SimpleDateFormat("dd-MMM-yy").format(new Date("30-MAR-07"))); 
+1

恩,我不認爲這是在做你認爲它在做什麼...... – 2012-07-17 17:15:23

+0

喬恩是不是會將日期30-Mar-07 int轉換爲日期對象與dd-MM-yy格式..我得到了輸出時,我做了,對不起,如果我失去了一些東西 – 2012-07-17 17:17:16

+0

你打電話給'Date'構造函數,然後用'SimpleDateFormatter'格式化結果。 OP根據問題想要使用SimpleDateFormatter解析文本。 – 2012-07-17 17:21:53

相關問題