2011-10-21 86 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但是你有一个字符串,你可以修改*那个*: ) –