我不知道为什么更改日期格式后将其解析为localDate以将其设置在对象中,但我不断收到此错误:
java.time.format.DateTimeParseException:无法在索引0处解析文本'07 / 02/2020'
这是我的代码:
LocalDate dateMission = mission.getDateMission(); //getting my date in yyyy/MM/dd
LocalDate newDateMission = dateMission.plusDays(1); //Adding + 1 day in yyyy/MM/dd
String test = DateTimeFormatter.ofPattern("dd-MM-yyyy", Locale.FRANCE).format(newDateMission); // changing format yyyy/MM/dd to dd/MM/yyyy
LocalDate finnalDateMission = LocalDate.parse(test); //parsing string to LocalDate
mission.setDateMission(finnalDateMission); // setting new date in LocalDate in format dd/MM/yyyy
您在做什么似乎没有任何意义。 LocalDate没有格式,只有在必须将其打印在某处或输入为字符串时,才需要担心格式。如果您只需要增加一天的时间,就不需要将日期格式化为字符串,然后将其解析回去。您可以像这样简化代码:
mission.setDateMission(mission.getDateMission().plusDays(1));
就是说,您的代码失败,因为您正在生成格式为“ dd-MM-yyyy”的String,但是您在调用LocalDate.parse时未指定格式。该方法使用DateTimeFormatter.ISO_LOCAL_DATE,这大致意味着它的格式为“ yyyy-MM-dd”。