当前日期和时间的正则表达式

时间:2015-07-16 10:27:42

标签: java regex date

我有一个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.");  
}

请给出建议  “日期”  正则表达式,无需转换为任何形式。

2 个答案:

答案 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;