簡體   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