我想对一个字符串进行日期验证:
private boolean validateDate(String date){
boolean isValid = true;
if(date != null){
SimpleDateFormat formatter = new SimpleDateFormat("MM-dd-yyyy");
try{
formatter.parse(date);
}
catch(ParseException pe){
System.out.println(pe.toString());
isValid = false;
}
catch(Exception e){
System.out.println(e.toString());
isValid = false;
}
}
else{
isValid = false;
}
return isValid;
}
如果字符串是"adf"等等的非法字符返回值为false
但是如果字符串是"02-30-1996"等的非法日期,却能返回true,难道SimpleDateFormat的parse方法不能正确解析非法日期么?这个方法不是返回日期型么?二月三十号应该是非法日期,应该抛异常才对啊
请高手指教
private boolean validateDate(String date){
boolean isValid = true;
if(date != null){
SimpleDateFormat formatter = new SimpleDateFormat("MM-dd-yyyy");
try{
formatter.parse(date);
}
catch(ParseException pe){
System.out.println(pe.toString());
isValid = false;
}
catch(Exception e){
System.out.println(e.toString());
isValid = false;
}
}
else{
isValid = false;
}
return isValid;
}
如果字符串是"adf"等等的非法字符返回值为false
但是如果字符串是"02-30-1996"等的非法日期,却能返回true,难道SimpleDateFormat的parse方法不能正确解析非法日期么?这个方法不是返回日期型么?二月三十号应该是非法日期,应该抛异常才对啊
请高手指教
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货