一尘不染

这个日期格式是什么?2019-08-12T20:17:46.384Z

java

我有以下日期: 2019-08-12T20:17:46.384Z。这是什么格式?我正在尝试通过Java 1.4解析它,DateFormat.getDateInstance().parse(dateStr)并且

java.text.ParseException:无法解析的日期:“ 2019-08-12T20:17:46.384Z”

我想我应该使用SimpleDateFormat进行解析,但是我必须首先知道格式字符串。到目前为止yyyy-MM-dd,我所拥有的只是,因为我不知道T该字符串的含义是什么-与时区有关?此日期字符串来自“ 文件CMIS下载历史记录”媒体类型lcmis:downloadedOn上显示的标签。


阅读 802

收藏
2020-03-09

共1个答案

一尘不染

T只是将日期和时间分开的文字,Z表示“零时偏移”,也称为“祖鲁时间”(UTC)。如果你的字符串始终带有“ Z”,则可以使用:

SimpleDateFormat format = new SimpleDateFormat(
    "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.US);
format.setTimeZone(TimeZone.getTimeZone("UTC"));

或使用Joda Time,你可以使用ISODateTimeFormat.dateTime()

2020-03-09