我正在尝试为给定的包含时间的字符串找到正确的模式。
这是我的字符串和我最近尝试过的模式:
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)
最佳答案
据我所知,jodatime 无法解析时区名称,因为它们不明确。您可以使用以下模式解析字符串:
"EE MMM dd yyyy HH:mm:ss 'GMT'ZZ '(CEST)'"
这会跳过时区名称,这应该没问题,因为您还有时区偏移量 (+0200)。
关于java - 使用 JodaTime 的 TimeString 的 FormatterPattern,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11984703/