日付パターン「yyyy-MM-dd」を使用して入力文字列から日付を解析する必要があり、日付が他の形式である場合はエラーをスローします。
これは、日付を解析する私のコードです。
private void validateDate() throws MyException {
Date parsedDate;
String DATE_FORMAT = "yyyy-MM-dd";
try{
parsedDate = new SimpleDateFormat(DATE_FORMAT).parse(getMyDate());
System.out.println(parsedDate);
} catch (ParseException e) {
throw new MyException(“Error occurred while processing date:” + getMyDate());
}
}
myDate に「2011-06-12」のような文字列を入力すると、「Thu Sep 29 00:00:00 EEST 2011」という出力が得られます。
「2011-0612」のような間違った文字列を送信すると、予想どおりエラーが発生します。
まだ 2 つの「ハイフン」がある文字列を渡そうとすると、問題が発生しますが、桁数が間違っています。例:
入力文字列 "2011-06-1211" 結果 "Tue Sep 23 00:00:00 EEST 2014".
入力文字列 "2011-1106-12" 結果 "Mon Feb 12 00:00:00 EET 2103".
文字列日付の入力形式を変更できません。
どうすれば回避できますか?