将字符串解析为本地日期后得到错误

问题描述 投票:0回答:1

我不知道为什么更改日期格式后将其解析为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
java date parsing localdate
1个回答
0
投票

您在做什么似乎没有任何意义。 LocalDate没有格式,只有在必须将其打印在某处或输入为字符串时,才需要担心格式。如果您只需要增加一天的时间,就不需要将日期格式化为字符串,然后将其解析回去。您可以像这样简化代码:

mission.setDateMission(mission.getDateMission().plusDays(1));

就是说,您的代码失败,因为您正在生成格式为“ dd-MM-yyyy”的String,但是您在调用LocalDate.parse时未指定格式。该方法使用DateTimeFormatter.ISO_LOCAL_DATE,这大致意味着它的格式为“ yyyy-MM-dd”。

© www.soinside.com 2019 - 2024. All rights reserved.