2012-02-15 55 views
0
try { 
    String str_date=date; 
    DateFormat formatter ; 
    Date date1 ; 
    formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:SSSS"); 
    date1 = (Date)formatter.parse(str_date); 
    System.out.println("Today is " +date1); 
} 
catch (ParseException e) 
{ 
    System.out.println("Exception :"+e); 
} 

我得到異常:java.text.ParseException:無法解析的日期: 「02/15/2012」異常:java.text.ParseException:無法解析的日期: 「02/15/2012」

任何一個幫我這個問題解決

回答

3

翻拍

formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:SSSS"); 

formatter = new SimpleDateFormat("MM/dd/yyyy"); 
+2

錯誤....模式是'MM/DD/yyyy'和** **不是'DD/MM/yyyy'。 – 2012-02-15 08:26:11

+0

@BuhakeSindi fixed – Ilya 2015-08-20 09:38:01

3
formatter = new SimpleDateFormat("MM/dd/yyyy"); 

這就是你的代碼。您正在代碼中定義錯誤的「模式」。如果你告訴他「嘿,我給你的日期有yyyy-MM-dd HH:mm:SSSS」的模式,那麼解析器如何解析日期22/05/2012?

+0

錯誤....模式是「MM/dd/yyyy」而不是「dd/MM/yyyy」。 – 2012-02-15 08:28:11

+0

謝謝,我已經更新了答案;-) Im歐洲所以我採取了錯誤的模式:D – 2012-02-15 08:30:01

+0

不用客氣;-) – 2012-02-15 09:17:37

1

格式是錯誤的,即使這裏的答案是錯誤的。

您的日期MM/dd/yyyy模式啓動,使您的格式更改爲:

formatter = new SimpleDateFormat("MM/dd/yyyy"); 

爲什麼不能dd/MM/yyyy是因爲你不能有一個月的15的原因(有一個唯一的12個月年)。

3

你逝去的日期格式02/15/2012 所以你需要做到這一點

formatter = new SimpleDateFormat("MM/dd/yyyy"); 

如果傳遞日期這種格式02-15-2012 那麼你必須要做到這一點

formatter = new SimpleDateFormat("MM-dd-yyyy"); 

以上不會給你任何錯誤。

3

我更喜歡做這樣的:

String dateString = "22/11/1982"; 
DateFormat dF = DateFormat.getDateInstance(DateFormat.SHORT); 
Date date = dF.parse(dateString); 
相關問題