项目需要对界面上用户输入的日期带有时间的一个字段的格式和有效性进行验证,我google了一下,确实有强人用正则实现了,包括了对闰月的特殊情况,但是,由于用户不一样的要求,所以要是修改那位仁兄的代码就是很麻烦了。我用另外一种方式变通的实现了这一功能,供大家参考
例如 界面上输入日期时间格式是:dd.mm.yyyy hh:mm:ss "2007-02-29 01:00:00"
//
dd.mm.yyyy hh:mm:ss "2007-02-29 01:00:00"
private int checkDateFormatAndValite(String strDateTime) ... {
//update it according to your requirement.
SimpleDateFormat format = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
try ...{
Date ndate = format.parse(strDateTime);
String str = format.format(ndate);
System.out.println(ndate);
System.out.println(str);
System.out.println("strDateTime=" + strDateTime);
//success
if (str.equals(strDateTime))
return 1;
//datetime is not validate
else
return 0;
} catch (Exception e) ...{
e.printStackTrace();
//format error
return -1;
}
}
private int checkDateFormatAndValite(String strDateTime) ... {
//update it according to your requirement.
SimpleDateFormat format = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
try ...{
Date ndate = format.parse(strDateTime);
String str = format.format(ndate);
System.out.println(ndate);
System.out.println(str);
System.out.println("strDateTime=" + strDateTime);
//success
if (str.equals(strDateTime))
return 1;
//datetime is not validate
else
return 0;
} catch (Exception e) ...{
e.printStackTrace();
//format error
return -1;
}
}