校验日期格式

public static boolean checkDate(String date) {
String datePattern1 = "\\d{4}-\\d{2}-\\d{2}";
String datePattern2 = "^((\\d{2}(([02468][048])|([13579][26]))"
+ "[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|"
+ "(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?"
+ "((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?("
+ "(((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?"
+ "((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))";
if ((date != null)) {
Pattern pattern = Pattern.compile(datePattern1);
Matcher match = pattern.matcher(date);
if (match.matches()) {
pattern = Pattern.compile(datePattern2);
match = pattern.matcher(date);
boolean matches = match.matches();
if(Boolean.FALSE.equals(matches)){
return false;
}
}else {
return false;
}
}
return true;
}
posted @ 2020-08-26 20:55  阿豪吖  阅读(860)  评论(0编辑  收藏  举报