2011-09-07 24 views
8

我有以下日期字符串:2011-09-06T22:02:57-04:00。問題是時區,-04:00。該Java7文檔說我可以用XXX神奇地匹配該時區的字符串:http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.htmlGroovy日期分析 - X是非法模式字符

的問題是,Groovy不支持X字,大概是因爲它沒有使用JDK7呢。 z字符不起作用,因爲它不是GMT-07:00,只有-07:00解析此時區的最簡單方法是什麼?

-tjw

+0

你究竟想要做什麼?獲取groovy解析日期並將其傳回給java?或者時髦內的東西?不清楚你爲什麼試圖做你的工作 – nuzz

+1

OP想要解析Groovy中的ISO8601日期時間字符串。這是一個很好的問題,因爲我認爲Groovy安裝中jar中的'SimpleDateFormat'類不直接支持時區後綴。 –

+0

@支持'Z'和'z'模式,但不支持'X',因此我的問題。我知道沒有其他直接解析這個字符串的方法。要清楚的是,任何7歲以前的Java程序都會遇到這個問題。 –

回答

1

我能想到的最簡單的答案就是使用'Z'。這裏的問題是解析器無法識別-04:00。那麼爲什麼不試着在嘗試轉換它之前運行一個正則表達式,尋找最終的結果:並將其移除。