用户应以下一格式yyyy-MM-dd
输入日期。所以我使用以下方式检查它:
public static boolean isDateValid(SimpleDateFormat dateFormat, String date) {
try {
dateFormat.parse(date);
return true;
} catch (ParseException e) {
e.printStackTrace();
return false;
}
}
但即使我为
输入12-12-2012
,它也会返回true
SimpleDateFormat("yyyy-MM-dd")
答案 0 :(得分:2)
您可以使用DateFormat.setLenient(false)
,以避免执行lenient
解析: -
try {
dateFormat.setLenient(false);
dateFormat.parse(date);
return true;
} catch (ParseException e) {
e.printStackTrace();
return false;
}
来自文档: -
通过宽松解析,解析器可以使用启发式来解释 输入与此对象的格式不完全匹配。严格要求 解析时,输入必须与此对象的格式匹配。