2014-09-05 16 views
0

我正在使用下面的代碼來解析日期,並將其格式化爲我想要的;代碼工作正常用於其它日期的像這樣的:java.text.Parseexception,位置0處的不可分段日期? Android

星期四,2014年9月4日19時32分零零秒GMT

但它像這樣扔的日期上面的錯誤消息:

週五,2014年9月05日06:01:00 +0100

任何人都可以解釋爲什麼嗎?

謝謝。

代碼:

//Only get the 'important' parts. 
pubDateFormat = pubDate.substring(0, 23); 
//Format it how I want. 
dateFormatter = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm"); 
//Here is where it is breaking.     
Date date = dateFormatter.parse(pubDateFormat); 
//Format it once again to how I want.     
dateFormatter = new SimpleDateFormat("dd/MM/yyyy"); 
//get the current date and format it the same. 
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); 
currDate = sdf.format(new Date()); 
currDate = currDate.replace(" ", ""); 
rssDate = dateFormatter.format(date).replace(" ", ""); 

這是日誌:

09-05 11:30:07.153: E/DATE(7665): Fri, 05 Sep 2014 06:01 
09-05 11:30:07.153: E/ERROR(7665): java.text.ParseException: Unparseable date: " 
09-05 11:30:07.153: E/ERROR(7665): Fri, 05 Sep 2014 06:01" (at offset 0) 

回答

0

你要添加的語言環境:

SimpleDateFormat dateFormatter = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm", Locale.ENGLISH); 
+0

嗨,感謝您的迴應,雖然似乎沒有修復它:S – Callum 2014-09-05 10:38:49

+0

@Callum在我的環境中,它的工作原理。 '\t \t \t String pubDateFormat =「Fri,05 Sep 2014 06:01」; \t \t \t \t \t的SimpleDateFormat dateFormatter =新的SimpleDateFormat( 「EEE,DD MMM YYYY HH:MM」,Locale.ENGLISH); \t \t \t //這裏是它打破的地方。 \t \t \t Date date = dateFormatter.parse(pubDateFormat); \t \t \t \t System.out.println(date);'print:Fri Sep 05 06:01:00 CEST 2014 – Jens 2014-09-05 10:40:24

+0

嗯,我不知道爲什麼它不適合我然後....這很奇怪。 – Callum 2014-09-05 10:50:27

0

試試這個

DateFormat df = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm", Locale.US); 
+0

嗨,謝謝你的迴應。不,這似乎沒有做任何事情嗎? – Callum 2014-09-05 10:51:59

+0

您是否將'SimpleDateFormat'更改爲'DateFormat' – 2014-09-05 10:55:33

相關問題