JodaTime:格式无效/格式错误

时间:2014-06-24 19:40:54

标签: java jodatime

我得到以下异常:

Exception in thread "main" java.lang.IllegalArgumentException: Invalid format: "Mon Jun 23 17:21:00 2014" is malformed at "Jun 23 17:21:00 2014"
    at org.joda.time.format.DateTimeFormatter.parseDateTime(DateTimeFormatter.java:873)
    at PatternExample.startService(PatternExample.java:20)
    at PatternExample.main(PatternExample.java:36)

这就是错误:

DateTimeFormatter formatter = DateTimeFormat.forPattern("E M d HH:mm:ss YYYY");
DateTime dateTime = formatter.withZone(DateTimeZone.UTC).parseDateTime("Mon Jun 23 17:21:00 2014");
System.out.println("DateTime: " + dateTime);

我按照DateTimeFormat的文档:

http://joda-time.sourceforge.net/apidocs/org/joda/time/format/DateTimeFormat.html

唯一需要注意的是,此字符串时间表示采用UTC格式,并且必须存储为UTC日期时间对象。我知道有一个Z标志,但这里没有必要,因为我没有在字符串中指定时区。

E代表星期几(例如星期一)。 M表示一年中的月份(例如Jun)。 d表示月中的日期(例如23)。时间和年份也遵循文档。为什么我会收到这个格式错误的错误以及如何解决?

1 个答案:

答案 0 :(得分:2)

将格式化程序字符串中的E更改为EEE,将M更改为MMM