文字列の入力は次のとおりです。
String date="12/20/20102";
SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
2つの間違い:
文字列日付=" 2012/12/20 "; //「2012年12月20日」である必要があります
文字列入力がMM/dd / yyyy形式であり、 dd / MM/yyyy形式で解析しようとしています。文字列入力形式を変更する(2012年12月20日)か、フォーマッターを(MM / dd / yyyy)に変更します。
編集
dd / MM/yyyy形式のユーザー入力日付を検証するためのサンプルコードを次に示します。
String str = txt.getText().toString();
try{
String tmp[] = str.split("/");
int day = Integer.parseInt(tmp[0]);
int month = Integer.parseInt(tmp[1]);
int year = Integer.parseInt(tmp[2]);
if(!(day > 31) && !(month > 12) && (tmp[2].length() == 4) )
{
// Verified date....
}
else
{
Toast.makeText(getBaseContext(), "Please enter date in correct format. (dd/MM/yyy)", Toast.LENGTH_SHORT).show();
}
}
catch (Exception e) {
Toast.makeText(getBaseContext(), e.toString(), Toast.LENGTH_SHORT).show();
}
注:うるう年と2月の月のロジックは実装されていません。
ここで利用可能なすべての条件による完全な検証。
http://www.mkyong.com/regular-expressions/how-to-validate-date-with-regular-expression/
そして、それがあなたを助けるならば、これを受け入れることを忘れないでください。
ありがとう...