2012-10-01 71 views
0

簡單的問題:我應該在這個日期使用什麼格式?如何在java中解析這個日期格式?

2011-10-09T05:06:03.000000Z 

這一個不工作:

"yyyy-MM-dd'T'HH:mm:ssZZ" 

從手冊:%M:「時間戳是從epoch_ticks(祖魯),格式=%Y-%間 - %的dT%H計算:%S.%fZ「

+0

什麼是最後一組零的?毫秒?時區偏移? –

+0

@sjr java.text.ParseException:Unparseable date:「2011-11-23T21:59:00.000000Z」 – user3111525

+0

@RoddyoftheFrozenPeas不知道,它不是我創建的東西。這是我正在處理的公共數據集。 – user3111525

回答

1

我想簡短的回答是」你不行「。由於某些原因,Java不支持「Z」作爲時區標識符。你可以做一個變通方法是這樣,但:

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); 
df.setTimeZone(TimeZone.getTimeZone("UTC")); 
Date d = df.parse("2011-10-09T05:06:03.000000Z"); 

此假設日期將在UTC,而忽略Z.