インスタンスが渡され、それがフォーマットjava.util.Date
に準拠していることを確認する必要がありMM/dd/YYYY
ます。このような検証を実行するにはどうすればよいですか (Joda Time のようなライブラリはありません)。API メソッドを確認しましSimpleDateFormat
たが、明確な勝者は見つかりませんでした。前もって感謝します!
4 に答える
4
それ自体にはフォーマットはありません - 1.1.1970 01:00 からのミリ秒java.util.Date
の内部表現です。long
于 2013-05-07T15:02:12.337 に答える
4
java.util.Date
エポックからのミリ秒数をカプセル化します。フォーマットの概念はありません。したがって、 の入力検証にDate
は意味がありません。これは のString
表現にのみ適用されDate
ます。
于 2013-05-07T15:02:26.537 に答える
1
これをチェックしてください、それはあなたのために働くでしょう、
String s = "2013-05-07";
try {
Date date = new SimpleDateFormat("yyyy/MM/dd").parse(s);
System.out.println(date+" Format of date recognized");
} catch (ParseException e) {
e.printStackTrace();
System.out.println("unable to recognize the date format");
}
このコードは完全に機能し、yyyy/MM/dd 形式の文字列のみが機能し、残りはすべて例外をスローします。
于 2013-05-07T17:57:25.807 に答える
0
日付/時刻の解析を緩くするかどうかを指定します。緩やかな解析では、パーサーはヒューリスティックを使用して、このオブジェクトの形式と正確に一致しない入力を解釈する場合があります。厳密な解析では、入力はこのオブジェクトの形式と一致する必要があります。
SimpleDateFormat ft = new SimpleDateFormat("MM/dd/YYYY");
ft.setLenient(false); // This will result in a ParseException when an invalid day and/or month
System.out.println(ft.format(ft.parse(s)));
于 2013-05-07T15:05:53.873 に答える