0

日付を次の形式でフォーマットしようとしています05051988LocalDatenext でフォーマットするのに使いたいです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
4

1 に答える 1

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);
}
于 2014-08-07T23:19:29.300 に答える