java org.joda.time.DateTime非法模式

时间:2016-07-16 18:22:26

标签: java datetime jodatime

这是我的字符串

  

2011-01-01T00:00:00.000Z

我正在使用org.joda.time.DateTime

将其更改为日期时间对象

这是我的代码

DateTimeFormatter formatter = DateTimeFormat
                .forPattern("yyyy-MM-ddTHH:mm:ss.000Z");
        DateTime dt = formatter.parseDateTime("2011-01-01T00:00:00.000Z");

我得到了异常

  

非法模式组件:T

因此,T.000Z始终存在,我该如何格式化?

1 个答案:

答案 0 :(得分:4)

您需要转义T

DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.000Z");
DateTime dt = formatter.parseDateTime("2011-01-01T00:00:00.000Z");
System.out.println(dt);

另外,不太清楚为什么要强制执行millis为000。如果它们总是000,您可能根本不应该包含它们。