日期格式不适用于Java

Ana*_*and 0 java date

我需要根据指定的格式检查日期的有效性.谷歌搜索后,我发现了一个:

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();

}
Run Code Online (Sandbox Code Playgroud)

但是它没有用.当我运行它时,它返回true而不是false.指定的单值是无效的,即13

System.out.println(isThisDateValid("20101331","yyyymmdd"));
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

Per*_*ror 8

yyyymmdd
Run Code Online (Sandbox Code Playgroud)

应该

yyyyMMdd
Run Code Online (Sandbox Code Playgroud)

注意:MM对于mm用于分钟


Rei*_*eus 7

使用资金M数月:

System.out.println(isThisDateValid("20101331","yyyyMMdd"));
Run Code Online (Sandbox Code Playgroud)

此无效测试日期将false按照您调用的预期返回setLenient(false)

日期格式文件