2016-09-30 40 views
2

我必須解析以下日期Java的日期格式 - GMT +04:00

週五09月30日十八時31分00秒GMT + 04:00 2016

,它不與下面的模式工作:

new SimpleDateFormat("EEE MMM dd HH:mm:ss z YYYY", Locale.ENGLISH);

能否請你告訴我,我做錯了什麼?

+0

你什麼輸出/錯誤? – Yannjoel

+0

我沒有得到任何錯誤,但我得到以下日期作爲輸出: 週五01月01 18:31:00 GMT + 04:00 2016 –

回答

3

它應該是小寫的「y」:

EEE MMM dd HH:mm:ss z yyyy 

大寫「Y」是指weekBasedYear

的日期可以從基於爲期一週的年創建,爲期一週的年和 星期幾

我想混合基於星期和絕對/時代模式只是不適合解析。

+0

謝謝)是的,這是問題 –

0

下面的代碼工作正常

import java.text.ParseException; 
import java.text.SimpleDateFormat; 
import java.util.Date; 
import java.util.Locale; 

public class ParseDate { 


public static void main(String[] args) { 
    try { 
     SimpleDateFormat parserSDF = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH); 
     Date date = parserSDF.parse("Fri Sep 30 18:31:00 GMT+04:00 2016"); 
     System.out.println("date: " + date.toString()); 
    } catch (ParseException ex) { 
     ex.printStackTrace(); 
    } 
} 
} 
相關問題