Unparsable日期异常简单日期格式

时间:2016-06-29 06:51:53

标签: java date simpledateformat

我正在尝试使用SimpleDateFormat将String解析为Date对象。 以下是我的代码

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm.sss");
Date parsedDate = formatter.parse("2016-06-28T14:10:23.374Z");
System.out.println(parsedDate.toString());

这给了我以下异常

Exception in thread "main" java.text.ParseException: Unparseable date: "2016-06-28T14:10:23.374Z"
at java.text.DateFormat.parse(DateFormat.java:368)
at com.bac.rds.dolphin.test.Main.main(Main.java:60)

我对这个问题的理解是我在SDF中使用的格式字符串可能不合适。我对SimpleDateFormat不太熟悉任何有助于实现此功能的帮助。

修改

已更新我的格式字符串,如下所示

yyyy-MM-dd'T'HH:mm:ss.SSS

此格式字符串能够将String解析为日期对象。但是当我尝试在格式字符串的末尾包含Z以便指定时区时,Z也存在于我所拥有的日期字符串中。它提供了解析异常。

以下是抛出解析异常的格式

yyyy-MM-dd'T'HH:mm:ss.SSSZ

为什么会出现这种情况?

1 个答案:

答案 0 :(得分:0)

试试这个

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
Date parsedDate = formatter.parse("2016-06-28T14:10:23.374Z");
System.out.println(parsedDate.toString());

,输出

Tue Jun 28 14:10:23 IST 2016