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