2016-08-21 107 views
0

我一直在努力一個奇怪的問題。簡單的日期分析

我試圖解析日期格式看起來像這樣

「星期四,2016年8月18日16時25分25秒GMT」

只月份和日期這樣

「08/18"

以及我使用兩個SimpleDateFormat,分析和格式化的輸入和輸出

DateFormat inputFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z"); 
DateFormat outputFormat = new SimpleDateFormat("MM/dd"); 

然而,一切似乎都使用genymotion模擬器

時是正確的,但是當涉及到真正的電話,說索尼XPERIA護理

以下幾個問題上保持正在添加

java.text中。 ParseException:無法解析的日期:「Wed,10 Aug 2016 15:40:57 GMT」(在偏移量0)

所以這是什麼原因?

+0

歡迎堆棧溢出!您能否在解決問題的努力中獲得更好的標題和更詳細的內容信息? – manetsus

回答

0

嘗試使用

new SimpleDateFormat("EE MMM dd HH:mm:ss z yyyy",Locale.ENGLISH); 
0

您的字符串,日期爲此你需要準備的SimpleDateFormat對於這樣的信息是與一種特定的語言,信息。 ERGO:你需要給一個區域設置

例子:

public static void main(String[] args) throws ParseException { 
String dateStr = "Thu, 18 Aug 2016 16:25:25 GMT"; 
DateFormat inputFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.ENGLISH); 
Date d = null; 
d = inputFormat.parse(dateStr); 
DateFormat outputFormat = new SimpleDateFormat("MM/dd"); 
System.out.println("After format: " + outputFormat.format(d)); 
}