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

java org.joda.time.DateTime illegal pattern

这是我的字符串

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");

我遇到异常

Illegal pattern component: T

所以 T.000Z 总是在那里,我该如何格式化?

您需要转义 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);

此外,不太确定为什么要强制执行毫秒 000。如果它们总是 000,您可能根本不应该包含它们。