JodaTime字符串yyyy-mm-ddThh:mmss.Z到DateTime

sn0*_*0ep 7 java datetime jodatime

嗨,我正在使用Joda时间将我的字符串日期转换为DateTime对象.

我目前有以下字符串:

2014-02-16T00:17:20.000Z
Run Code Online (Sandbox Code Playgroud)

我如何将其转换为DateTime对象?

我试过了:

DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ssZZZ");
        DateTime dt = formatter.parseDateTime("2014-02-16T00:17:20.000Z");
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

java.lang.IllegalArgumentException: Invalid format: "2014-02-16T00:17:20.000Z" is malformed at ".000Z"
Run Code Online (Sandbox Code Playgroud)

任何帮助是极大的赞赏

Bre*_*siu 21

对于未来访客,更简单的解决方案:

String date = "2014-02-16T00:17:20.000Z";
DateTime dateTime = new DateTime(date);
Run Code Online (Sandbox Code Playgroud)

  • 我不明白这有什么用。需要一种模式,但评论中提供的模式不起作用。 (2认同)

JB *_*zet 17

此格式恰好是ISO日期时间格式,默认情况下DateTime使用.您只需要

DateTime d = DateTime.parse(s);
Run Code Online (Sandbox Code Playgroud)

要么

DateTime d = DateTime.parse(s, ISODateTimeFormat.dateTimeParser());
Run Code Online (Sandbox Code Playgroud)