2011-10-21 144 views
0

嗨夥計我想解析這種格式,但無法解析它。如何解析這個日期格式

格式:週五2011年10月21日8點45分00秒格林尼治標準時間0530(IST)

的SimpleDateFormat( 「EEE MMM DD YYYY HH:MM:SS ZZZ ZZZZ」)

有人可以解釋我什麼這是錯的嗎?

+3

'0530'必須採用RFC 822格式'+ 0530'才能得到解析。如果不事先處理字符串,就無法解析它。 – BalusC

+0

我確實將其改爲+0530,但仍然無法解析它Fri Oct 21 2011 08:00:00 GMT + 0530(IST)new SimpleDateFormat(「EEE MMM dd yyyy HH:mm:ss z(Z)」 ) – user437066

回答

5

zzz的格式不正確; the docs表明它需要採用以下格式:GMT-05:30

此外,由於您在Z參數附近有括號,因此您的格式字符串中需要括號。

sdf = new SimpleDateFormat("EEE MMM dd yyyy HH:mm:ss z (Z)") 
println sdf.parse("Fri Oct 21 2011 08:45:00 GMT+05:30 (IST)") 
> Fri Oct 21 02:45:00 EDT 2011 
+0

問題是我把這個作爲api的輸入Fri Oct 21 2011 08:00:00 GMT 0530(IST),我無法改變輸入 – user437066

+0

@ user437066但是你有一個字符串,你可以修改*那個*: ) –