带有JodaTime的TimeString的FormatterPattern

时间:2012-08-16 09:54:07

标签: java jodatime

我正在尝试为包含时间的给定String找到正确的模式。

这是我的String和我最近尝试过的模式:

String time = "Sun Jul 01 2012 11:25:57 GMT+0200 (CEST)";
DateTimeFormatter formatter = DateTimeFormat.forPattern("EEE MMM dd yyyy HH:mm:ss 'GMT'ZZ '(CEST)'");
DateTime date = formatter.parseDateTime(time);

我阅读了有关使用哪些字符的文档,但我仍然不完全清楚如何匹配我给定的字符串。

如果你们其中一个人可以帮我解决这个问题,那真是太棒了!

这是我得到的例外:

Exception in thread "main" java.lang.IllegalArgumentException: Invalid format: "Sun Jul 01 2012 11:25:57 GMT+020..."
    at org.joda.time.format.DateTimeFormatter.parseDateTime(DateTimeFormatter.java:866)
    at Main.main(Main.java:10)

1 个答案:

答案 0 :(得分:1)

AFAIK jodatime无法解析时区名称,因为它们不明确。您可以使用以下模式解析字符串:

"EE MMM dd yyyy HH:mm:ss 'GMT'ZZ '(CEST)'"

跳过时区名称,这应该没问题,因为你还有时区偏移(+0200)。