2016-02-02 150 views
-5

我想讓Java讀取格式如下的日期: Thu Mar 8 13:33:25 2012 但得到一個不可解析的異常。下面的代碼:Java SimpleDateFormat異常:解析日期

SimpleDateFormat formatter2 = new SimpleDateFormat("EEE MMM d HH:mm:ss yyyy", Locale.ENGLISH); 
String currentDate = "Thu Mar 8 13:33:25 2012"; 
Date date2 = formatter.parse(currentDate); 

它拋出以下異常:Exception in thread "main" java.text.ParseException: Unparseable date: "Thu Mar 8 13:33:25 2012"

有人能幫助我嗎?我試過將「d」更改爲「dd」,但仍然無效。

+4

看來你正在使用_formatter_代替_formatter2_的。 – Berger

+0

您有'formatter2'' SimpleDateFormat'對象,並且您正在使用'formatter'來解析。 'formatter'從哪裏來? –

+0

如果您使用'formatter2'而不是'formatter',則此代碼有效。 – Patrick

回答

2

您沒有使用formatter2變量,如您的示例中所述。

您的代碼在使用formatter2時有效。

SimpleDateFormat formatter2 = new SimpleDateFormat("EEE MMM d HH:mm:ss yyyy", Locale.ENGLISH); 
String currentDate = "Thu Mar 8 13:33:25 2012"; 
Date date2 = formatter2.parse(currentDate); 
System.out.println(date2); 

結果:

週四3月8 13時33分25秒CAT 2012

0
String pattern = "EEEEE MMMMM yyyy HH:mm:ss.SSSZ"; 
SimpleDateFormat simpleDateFormat = 
     new SimpleDateFormat(pattern, new Locale("en", "IN")); 

String date = simpleDateFormat.format(new Date()); 
System.out.println(date);