Java では、SimpleDateFormat
クラスを使用して日付を文字列に変換します。ここで混乱しやすいのは、yyyy
とYYYY
という 2 つの形式です。
-
yyyy
:これは通常の年を表します。例えば、2023 年です。 -
YYYY
:これは週ベースの年を表します。国際標準 ISO 8601 に基づいて年を計算します。この標準では、1 年は 52 または 53 週に分けられ、週は月曜日から日曜日までです。したがって、ISO 週の最後の日に日付がある場合、それが 12 月であっても、YYYY
は次の年の年を表示する可能性があります。
要するに、日付をフォーマットする際にyyyy
ではなくYYYY
を誤って使用すると、新年の最初の週などの一部の場合に、日付の年が誤って表示される可能性があります。このようなエラーを避けるためには、常に小文字のyyyy
を使用することが最善です。