我需要根据指定的格式检查日期的有效性。谷歌搜索后,我发现了一个:
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();
}
但是它不起作用..当我运行它时,它返回true而不是false。指定的monon值无效,即13
System.out.println(isThisDateValid("20101331","yyyymmdd"));
我错过了什么吗?
答案 0 :(得分:8)
yyyymmdd
应该是
yyyyMMdd
注意月的MM
mm
用于分钟
答案 1 :(得分:7)
使用大写M
数月:
System.out.println(isThisDateValid("20101331","yyyyMMdd"));
此无效的测试日期将按照预期false
setLenient(false)
答案 2 :(得分:1)