1

我有代表日期的字符串2014-11-01T18:57:24.497Z,我想解析为SimpleDateFormat.

我正在使用以下代码

// 2014-11-01T18:57:24.497Z
SimpleDateFormat startAnalyzing = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSz");
Date start = startAnalyzing.parse(startDateAnalyzing);

这样做时,我遇到了一个例外:

java.text.ParseException: Unparseable date: "2014-11-01T18:57:24.497Z"
    at java.text.DateFormat.parse(DateFormat.java:357)
    ...

我做错了什么?

4

1 回答 1

3

首先,您尝试解析 a z,因此请为两者(字符串和模式)Z选择lower 或 upper 。z

其次,您需要“转义”模式(或 z)中的 Z。

String startDateAnalyzing = "2014-11-01T18:57:24.497z";
SimpleDateFormat startAnalyzing = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'z'");

输出:

Sat Nov 01 18:57:24 CET 2014
于 2014-11-07T09:29:27.373 回答