Java SimpleDateFormat:模式 - ParseException

Java SimpleDateFormat: Pattern - ParseException

我正在努力处理日期字符串,我需要解析为 java“日期”对象。 这是我到目前为止得到的:

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无法解析的日期”,我无法让它工作。

非常感谢任何帮助!

谢谢

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

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

您也可以像这样使用 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);