Java SimpleDateFormat:Pattern - ParseException

时间:2017-12-21 13:53:45

标签: java simpledateformat

我正在努力使用日期字符串,我需要解析java'Date'对象。 这是我到目前为止所得到的:

try {

String value =   "2017‎-‎11‎-‎23T14:00:49.184000000Z";
String pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSSSSSSS'Z'";

SimpleDateFormat parser = new SimpleDateFormat(pattern);

Date date = parser.parse(value);


} catch (ParseException e) {e.printStackTrace();}

它当前抛出 ParseException Unparseable date ”,我无法让它工作。

非常感谢任何帮助!

由于

2 个答案:

答案 0 :(得分:7)

使用Instant包中的java.time(java 8),它应该如下所示

String value = "2017-11-23T14:00:49.184000000Z";
Instant instant = Instant.parse(value);
Date date = Date.from(instant);
System.out.println(date);

答案 1 :(得分:0)

你可以使用timeZone作为另一种解决方案。

TimeZone tz = TimeZone.getTimeZone("Asia/Calcutta");
            Calendar cal = Calendar.getInstance(tz);
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSSSSS'Z'");
            sdf.setCalendar(cal);
            cal.setTime(sdf.parse("2017-11-23T14:58:00.184000000Z"));
            Date date = cal.getTime();
            System.out.println(date);