2013-07-28 40 views
1

我過去曾多次使用SimpleDateFormat將字符串解析到日期中,但是今天我遇到了一個我似乎無法看到的錯誤。 我解析一個CSV,我有這樣的:Java SimpleDateFormat ParseException模式似乎匹配

DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); 
Date date = dateFormat.parse(nextLine[0]); 

我得到這個錯誤

java.text.ParseException: Unparseable date: "2011-06-17 21:43:17.493" 

它看起來對我來說,格式引用的javadoc時的SimpleDateFormat這裏的字符串匹配: http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html

我錯過了什麼SimpleDateFormat?

+1

愚蠢的建議,但如果你修剪字符串? 'dateFormat.parse(nextLine [0] .trim());' –

+0

你可以發佈你的CSV的一部分,至少是有問題的部分? –

+1

CSV的什麼字符集? [來自doc:格式是區域獨立的,數字必須來自Unicode標準的基本拉丁區塊。] – adatapost

回答

3

沒有什麼與您的代碼worngng。你只需要在該行

DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); 

你可能從PDF文件或其他來源複製它是無形的注入是符號符號轉換成文本。

試着手動複製它,它會沒事的。我這樣做後,它爲我工作。

+0

是的,我會買這個。 1+ –