「yyyy」の形式で文字列を年に解析する必要があります。私が使用するコードスニペットは
try{
String strDate = "200323";
SimpleDateFormat formatter = new SimpleDateFormat("yyyy");
Date dateStr = formatter.parse(strDate);
System.out.println("The year is " + dateStr);
}
catch(Exception e){
System.out.println("Date parse exception");
}
問題は、「2003」などの 4 桁の文字列を使用すると、年に解析され、出力が期待どおり「The year is Wed Jan 01 00:00:00 GMT 2003」になることです。しかし、上記のスニペットのように 4 桁を超える無効な文字列 ("200323" など) を指定すると、解析例外はスローされず、代わりに文字列値が受け入れられ、出力は "The year is Mon Jan 01. 00:00:00 GMT 200323". これを解決するか、少なくとも解析例外をスローさせる解決策を誰かが提案できますか? 解析する前に試してみformatter.setLenient(false)
ましたが、効果はありませんでした。どんな助けでも大歓迎です。前もって感謝します。