我正在尝试格式化日期,格式为05051988
。我想使用LocalDate
格式化下一个05 may 1988
。
我创建了私有方法,稍后我将在同一个类中使用它来在文本中输入格式化日期。我已经制作了一些代码,但是如果我使用1988-05-05
,我现在收到MM
,如果我将其替换为MMM
,那么它会给我错误消息解析。
private LocalDate parseDate(){
LocalDate dateOfBirth = LocalDate.parse(date, DateTimeFormatter.ofPattern("ddMMyyyy"));
return dateOfBirth;
}
错误:
Exception in thread "main" java.time.format.DateTimeParseException: Text '05051988' could not be parsed at index 2
答案 0 :(得分:3)
您仍然需要使用“ddMMyyyy”来解析日期。然后在打印时使用“dd MMM yyyy”进行格式化。
这样的事情:
String reformat(String dateOfBirth) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("ddMMyyyy");
DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("dd MMM yyyy");
LocalDate date = LocalDate.parse(dateOfBirth, fomatter);
return formatter2.print(date);
}