私はフォーマット2019-12-30
の日付をフォーマット付きの日付に変換しようとしています30-12-2019
、そしてこれのために私は使用することを考えました、DateTimeFormatter
そして私はこれのために次のコードを持っています:
LocalDate date = LocalDate.parse("2019-12-30");
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-YYYY");
System.out.println(formatter.format(date));
ただし、驚いたことに、これは出力を返します。
30-12-2020
予想の代わりに30-12-2019
。日付がに設定されている場合、2019-11-30
正しく戻ります30-11-2019
。私はひどく間違っていることをしていますが、正確に何を理解することができません。誰か助けてくれますか?
DateTimeFormatter
ドキュメントから:記号、意味、例を示します:
Y週ベースの年、1996年。96
つまり、通常の年ではなく、週ベースの年をフォーマットしています。2019年12月30日は2020年の最初の週に属しているため、出力されます。
使用yyyy
(年の時代)またはuuuu
(年)の代わりにYYYY
、あなたは代わりに2019を取得します。
基本的に、YYYY
通常はw
(週ベースの年)とE
(曜日)で使用する必要があります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加