【发布时间】:2018-01-08 09:14:14
【问题描述】:
2017-08-01T05:08:51.000Z
我正在尝试使用以下代码解析上述日期字符串。它在偏移量 23 处显示无法解析的日期。我似乎无法找出问题所在。
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
Date date = null;
try {
date = format.parse("2017-08-01T05:08:51.000Z");
} catch (ParseException e) {
e.printStackTrace();
}
【问题讨论】:
-
试试这个:yyyy-MM-dd'T'HH:mm:ss.SSS'Z'。在 Z 周围加上一个撇号。
-
或者更好的是,使用
X来表示“ISO-8601 UTC 偏移量”——这样我希望它可以避免使用系统时区... -
@Igorovics 您应该使用 X 字母,请参阅 docs.oracle.com/javase/8/docs/api/java/text/…
标签: java simpledateformat