0

指定された形式に対して日付の有効性を確認する必要があります。グーグルで調べたところ、次のものが見つかりました。

public static boolean isThisDateValid(String dateToValidate, String dateFromat){

        SimpleDateFormat sdf = new SimpleDateFormat(dateFromat);
        sdf.setLenient(false);
        ParsePosition position = new ParsePosition(0);  
        Date date = sdf.parse(dateToValidate,position);
        return date != null && position.getIndex() == dateFromat.length();

}

しかし、それは機能していません..これを実行すると、falseではなくtrueが返されました。指定された月の値は無効です。つまり、13です

System.out.println(isThisDateValid("20101331","yyyymmdd"));

何か見逃しましたか?

4

3 に答える 3

8
yyyymmdd

する必要があります

yyyyMMdd

はメモMMはメモmm

于 2013-01-21T11:46:58.413 に答える
7

資本Mを月間使用する:

System.out.println(isThisDateValid("20101331","yyyyMMdd"));

この無効なテスト日はfalse、お電話いただいたとおりに返されますsetLenient(false)

日付形式ドキュメント

于 2013-01-21T11:47:05.713 に答える
1

「yyyymmdd」の代わりに「yyyyMMdd」を使用する必要があります。

ここ に説明 が あります.

また、なぜあなたの質問では、月の値が13に割り当てられているのですか?

于 2013-01-21T12:01:24.907 に答える