62,623
社区成员
发帖
与我相关
我的任务
分享String str = "2000-02-01";
System.out.println(str.matches("^((((1[6-9]|[2-9]\\d)\\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\\d|3[01]))|(((1[6-9]|[2-9]\\d)\\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\\d|30))|(((1[6-9]|[2-9]\\d)\\d{2})-0?2-(0?[1-9]|1\\d|2[0-8]))|(((1[6-9]|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$")); private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
public static Date parse(String datestr) {
if (datestr == null) {
return null;
}
datestr = datestr.replaceAll(" ",""); // 去掉空格
datestr = datestr.replaceAll("/", ""); // 替换/
datestr = datestr.replaceAll("-", ""); // 替换-
datestr = datestr.replaceAll("\\.", ""); // 替换.
try {
return dateFormat.parse(datestr);
} catch (Exception ex) {
return null;
}
}