ユーザーが範囲外の日付を入力した場合 (たとえば、月 = 22) に通知したいと思います。しかし、dateFormat はグローバル設定ファイルに格納されるため、入力文字列の月フィールドの正確な位置がわかりません。ParseException の getErrorOffset() メソッドを使ってみたのですが、必ず入力文字列の終了位置(10)を返します
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
sdf.setLenient(false);
try
{
sdf.parse("22/12/2009");
}
catch (ParseException ex)
{
ex.getErrorOffset();
}
解決策はありますか?どうも