我有以下日期: 2019-08-12T20:17:46.384Z。这是什么格式?我正在尝试通过Java 1.4解析它,DateFormat.getDateInstance().parse(dateStr)并且
2019-08-12T20:17:46.384Z
DateFormat.getDateInstance().parse(dateStr)
java.text.ParseException:无法解析的日期:“ 2019-08-12T20:17:46.384Z”
java.text.ParseException
“ 2019-08-12T20:17:46.384Z”
我想我应该使用SimpleDateFormat进行解析,但是我必须首先知道格式字符串。到目前为止yyyy-MM-dd,我所拥有的只是,因为我不知道T该字符串的含义是什么-与时区有关?此日期字符串来自“ 文件CMIS下载历史记录”媒体类型lcmis:downloadedOn上显示的标签。
yyyy-MM-dd
lcmis:downloadedOn
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()。
ISODateTimeFormat.dateTime()