0

インスタンスが渡され、それがフォーマットjava.util.Dateに準拠していることを確認する必要がありMM/dd/YYYYます。このような検証を実行するにはどうすればよいですか (Joda Time のようなライブラリはありません)。API メソッドを確認しましSimpleDateFormatたが、明確な勝者は見つかりませんでした。前もって感謝します!

4

4 に答える 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 に答える