繁体   English   中英

在java.time中格式化日期

[英]Formatting date in java.time

我正在尝试格式化日期,格式为05051988 我想在05 may 1988使用LocalDate进行格式化。

我创建了私有方法,稍后我将在同一类中使用该方法在文本中输入格式化的日期。 我已经编写了一些代码,但是如果使用MM ,则此刻我会得到1988-05-05 ,如果我将其替换为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

您仍然需要使用“ 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);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM