2013-10-29 134 views
0

工作如果我用這個代碼:喬達DateTimeFormatter IllegalFormatException上真實的設備,但在模擬器

DateTimeFormatter fmt = DateTimeFormat.forPattern("EEE dd MMM yyyy HH:mm:ss Z"); 

這個字符串:

Tue 29 Oct 2013 11:30:16 +0000 

它的工作原理,而不在模擬器異常,但如果我在真實設備上啓動應用程序,它會輸出此異常:

10-29 12:30:20.870: W/System.err(751): java.lang.IllegalArgumentException: Invalid format: "Tue 29 Oct 2013 11:30:16 +0000" 
10-29 12:30:20.870: W/System.err(751): at org.joda.time.format.DateTimeFormatter.parseDateTime(DateTimeFormatter.java:873) 
10-29 12:30:20.870: W/System.err(751): at de.allmystery.allmyapp.fregman.KategorieObject.getDiff(KategorieObject.java:146) 
10-29 12:30:20.870: W/System.err(751): at de.allmystery.allmyapp.fregman.KategorieObject.<init>(KategorieObject.java:46) 
10-29 12:30:20.870: W/System.err(751): at de.allmystery.allmyapp.fregman.KategorieActivity.convertCat(KategorieActivity.java:261) 
10-29 12:30:20.870: W/System.err(751): at de.allmystery.allmyapp.fregman.KategorieActivity.access$0(KategorieActivity.java:259) 
10-29 12:30:20.870: W/System.err(751): at de.allmystery.allmyapp.fregman.KategorieActivity$4.run(KategorieActivity.java:152) 
10-29 12:30:20.870: W/System.err(751): at java.lang.Thread.run(Thread.java:1019) 

line146和147 in KategoreObject :

DateTimeFormatter fmt = DateTimeFormat.forPattern("EEE dd MMM yyyy HH:mm:ss Z"); 
DateTime postTime = fmt.parseDateTime(getLast_post_date()); 

有人可以幫我解決這個錯誤嗎?

回答

0

的問題是,該設備採用德國語言,因此它似乎DateTimeFormatter也是使用的語言環境德國

在我的情況

的解決方案是:

DateTimeFormatter fmt = DateTimeFormat.forPattern("EEE dd MMM yyyy HH:mm:ss Z").withLocale(Locale.ENGLISH); 
相關問題