コードは、生年月日の入力をDD/MM/YYYY形式に変換する必要があります。たとえば、20/08/2000を入力すると、3月1日の日付が表示されます。 。あなたの形式で資本Y
Sを使用してJavaの書式設定の日付が正しくない
20/08/2000
Mon Jan 03 00:00:00 GMT 2000
コードは、生年月日の入力をDD/MM/YYYY形式に変換する必要があります。たとえば、20/08/2000を入力すると、3月1日の日付が表示されます。 。あなたの形式で資本Y
Sを使用してJavaの書式設定の日付が正しくない
20/08/2000
Mon Jan 03 00:00:00 GMT 2000
を出力
System.out.println(this.dob);
DateFormat dateF = new SimpleDateFormat("dd/MM/YYYY");
Date birth = dateF.parse(this.dob);
System.out.println(birth);
は "週の年" と呼ばれるものを意味します。
代わりに、小文字のy
をご使用の形式で使用してください。これは、期待どおりの年を意味します。
new SimpleDateFormat("dd/MM/yyyy");
8月には、年と週の年が同じです。週の年は、週の番号が属する年です。新年の周りだけが年から逸脱することがあります(例えば、前年の52週が1月に拡大する場合)。 –
@ OleV.V。それは正しいかもしれませんが、 'yyyy'に変更すると出力が正しい日付に修正されます。 – rgettman
「yyyy」と「YYYY」の違いを人々が知ることができないのはなぜですか?あるいは、彼らのパターンが正しいかどうかを再確認することをなぜ気にかけないのか?煩わしい。 – Tom