我需要格式化一个ZonedDate时间来格式化MM/dd/yyyy。
ZonedDateTime zonedDateTime = ZonedDateTime.now();
String date = DateTimeFormatter.ofPattern("MM/dd/yyyy").format(zonedDateTime);
ZonedDateTime zoneDate = ZonedDateTime.parse(date);获取错误:
线程"main“java.time.format.DateTimeParseException中的异常:无法在索引0处解析文本'12/05/2018‘
或者,如果我用我想要的格式将我的值转换成一个字符串,然后再次用我的格式解析它的ZonedDate时间:
DateTimeFormatter format = DateTimeFormatter.ofPattern("MM/dd/yyyy");
ZonedDateTime zonedDateTime = ZonedDateTime.now();
String date = DateTimeFormatter.ofPattern("MM/dd/yyyy").format(zonedDateTime);
ZonedDateTime zonedate = ZonedDateTime.parse(date, format);我得到了错误:
线程"main“java.time.format.DateTimeParseException中的异常:文本'12/05/2018‘无法解析:无法从TemporalAccessor:{}获得ZonedDateTime,
我见过很多关于这方面的问题,但是我不断地发现这些解析错误
发布于 2018-12-05 20:43:12
有两个问题。首先,日期中没有区域信息,其次,没有时间信息。您可以将其转换为LocalDate
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy");
ZonedDateTime zonedDateTime = ZonedDateTime.now();
String date = formatter.format(zonedDateTime);
LocalDate localdate = LocalDate.parse(date, formatter);您可以将LocalDate转换为ZonedDateTime,方法是将时间设置为一天开始的时间,将该区域设置为默认的系统区域。否则,您需要提供您选择的时间和ZoneId。
ZonedDateTime zdt = localdate.atStartOfDay(ZoneId.systemDefault());https://stackoverflow.com/questions/53640120
复制相似问题