2010-11-22 91 views
2

我有字符串「Tue Nov 12 2010」,我想在java.util.Date對象中解析它。 我下面寫的代碼像低於這個將字符串解析爲日期對象

DateFormat format = new SimpleDateFormat("dd/MM/yyyy"); 
Date date= format.parse("Tue Nov 12 2010"); 

這是給例外:

java.text.ParseException: Unparseable date: "Sun Nov 21 2010"

沒有得到什麼錯呢???

+2

在您鍵入問題的文本區域的右側,有一個標題爲「如何格式化**」的框。值得一讀。我已經爲您解決了代碼格式問題,但現在您已經提出了五個問題,有時間開始獨奏。 – 2010-11-22 13:20:42

+2

爲什麼不能看到指定的「dd/MM/yyyy」格式與日期「2010年11月12日」不符? – 2010-11-22 13:24:48

+0

如果有幫助,接受答案被認爲是很好的形式。 @艾莉森既有幫助也是最快捷的答案。 – Jim 2010-11-26 10:55:04

回答

1

您已經創建
新的SimpleDateFormat( 「DD/MM/YYYY」)的日期格式;
只會解析該表單的日期。即05/10/1989 你需要改變一些更合適的格式。

7

你的格式是錯誤的 - 如果你指定一個格式dd/MM/yyyy,那麼你需要提供格式化爲對應格式(!)的字符串。 21/11/2010

4

Ofcourse,因爲它不是在格式

Tue Nov 12 2010格式應該是EEE MMM dd yyyy

Have a look at docs

+1

從鏈接的文檔中,一年中的「D」和一個月中的「d」是日期。也沒有'Y'。 – codaddict 2010-11-22 13:25:54

+0

@codaddict是我的錯誤 – 2010-11-22 13:29:48

1

解析您需要提供正確格式的日期。對於您提供的樣本日期,格式將爲"EEE MMM dd yyyy"

+0

+1糾正我:) – 2010-11-22 13:33:07

0

您使用的日期格式錯誤。要根據您的字符串格式解析它,請使用「EEE MMM dd yyyy」

2

學習閱讀代碼並使用常識。

 
DateFormat format = new SimpleDateFormat("dd/MM/yyyy"); 
Date date= format.parse("Tue Nov 12 2010"); 

這應該是明顯地告訴指定的字符串不匹配的格式被解析。他們在相鄰的路線上,彼此相鄰。它並沒有比這更直接。

如果您要成爲一名成功的程序員,您需要能夠看到類似這樣的內容。如果你看不到這一點,那麼當兩行代碼出現問題甚至不在同一個源代碼文件中時,你會如何發現類似的問題?

我的建議是承擔一些個人責任,學習如何閱讀和調試代碼。像這樣的東西應該是一個巨大的紅旗,當你輸入它時,兩行代碼不匹配。

相關問題