我正在挣扎于一个日期字符串,我需要解析到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“不可解析的日期”,我无法让它工作。
任何帮助都是非常感谢的!
谢谢
发布于 2017-12-21 14:07:19
使用Instant from 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);发布于 2017-12-21 14:15:25
您也可以像这样使用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);https://stackoverflow.com/questions/47926442
复制相似问题