我有一个Date对象(2015年7月16日15:54:56 IST 2015)。
Date date = new Date();
if(vea.isDateValid("Thu Jul 16 15:04:45 IST 2015","regex")){
System.out.println("Given Date" + " is a valid date format.");
} else {
System.out.println("Given Date" + " is an invalid date format.");
}
请给出建议 “日期” 正则表达式,无需转换为任何形式。
答案 0 :(得分:1)
这是你需要的正则表达式:
[A-Z][a-z]{2}\\s[A-Z][a-z]{2}\\s[0-9]{2}\\s[0-9]{2}:[0-9]{2}:[0-9]{2}\\s[A-Z]{3}\\s[0-9]{4}
在您的Java代码中,它将是这样的:
Date dt=new Date();
String dateString = dt.toString();
System.out.println(dateString.matches("[A-Z][a-z]{2}\\s[A-Z][a-z]{2}\\s[0-9]{2}\\s[0-9]{2}:[0-9]{2}:[0-9]{2}\\s[A-Z]{3}\\s[0-9]{4}"));
这里是 Working DEMO 。
答案 1 :(得分:0)
这样的东西也应该有效,我认为以这种方式阅读格式会更方便:
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd hh:mm:ss z YYYY);
try {
Date date = sdf.parse(dateToValidate);
} catch (ParseException e) {
return false;
}
return true;