我需要根据指定的格式检查日期的有效性.谷歌搜索后,我发现了一个:
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)
我错过了什么吗?
yyyymmdd
Run Code Online (Sandbox Code Playgroud)
应该
yyyyMMdd
Run Code Online (Sandbox Code Playgroud)
注意:MM对于月 
和mm用于分钟
使用资金M数月:
System.out.println(isThisDateValid("20101331","yyyyMMdd"));
Run Code Online (Sandbox Code Playgroud)
此无效测试日期将false按照您调用的预期返回setLenient(false)