2016-04-09 20 views
1

ayrıştırma RFCJoda .... Bu benim çalışıyorum buyum 2822 biçim

DateTimeFormatter formatter = DateTimeFormat.forPattern("EEE, dd MMM yyyy HH:mm:ss Z"); 
     dateTime = formatter.parseDateTime(pubDate); 
     return dateTime; 

başarısız ve bir sonuç :(orada ben başına diğer biçimlendirme seçenekleri bir sürü denedik

java.lang.IllegalArgumentException: Invalid format: "Sat, 09 Apr 2016 09:43:00 +0200" 
                   at org.joda.time.format.DateTimeFormatter.parseDateTime(DateTimeFormatter.java:945) 

dökümantasyon ama hala hayır şans

cevap

3

Varsayılan Locale'unuz İngilizce olmamalıdır (ve ayrıştırma yaptığınız haftanın günü ve günü İngilizce'dir) Yerel listemizi geçersiz kılmak için DateTimeFormatter.withLocale(Locale)'u kullanabilirsiniz. ocale

String pubDate = "Sat, 09 Apr 2016 09:43:00 +0200"; 
DateTimeFormatter formatter = DateTimeFormat.forPattern("EEE, dd MMM yyyy HH:mm:ss Z"); 
DateTime dateTime = formatter.withLocale(new Locale("en_US")).parseDateTime(pubDate); 
System.out.println(dateTime); 
+0

Peki sanırım bu, emülatör üzerinde çalışmasının ve gerçek bir cihazda başarısız olmasının sebebidir. Teşekkürler –