我正在尝试使用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
为什么会出现这种情况?
答案 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