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);
我正在努力处理日期字符串,我需要解析为 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);