日付パターン "yyyy-MM-dd"を使用して入力文字列から日付を解析する必要があり、日付が他の形式であればエラーになります。SimpleDateFormat、Javaを使用した不正な日付解析
これは私が日付を解析コードの私の作品です:私はMyDateに該当に入力として「2011年6月12日」のような文字列を持っている場合
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());
}
}
私は出力を得ます「木9月29日0時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"です。
文字列の日付の入力形式を変更できません。
どうすれば避けることができますか?
私は "2011年6月29日00:00:00 EEST 2011"の出力を得る予定です。 9月29日ではなく、出力として6月12日を取得する必要があります... –