【发布时间】:2013-06-03 01:06:22
【问题描述】:
我有如下的日期验证代码,它不会为 01/01/19211 抛出 parseException。
有什么问题。有没有人有替代解决方案?我不能使用任何第三方库。
SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
dateFormat.setLenient(false);
try {
resetPasswordUIBean.setDateOfBirth(dateFormat.parse(resetPasswordUIBean.getDateInput()));
} catch (ParseException e) {
//handleException
}
非常感谢
【问题讨论】:
-
未来读者请注意:您不应使用
SimpleDateFormat和Date。使用java.time包中提供的现代日期和时间 API。 See Arvind's answer. -
请注意,输入字符串
01/01/1921blahdoes not cause 和ParseException都会被抛出,尽管子字符串 "blah" 无效。那是因为无论是否解析了整个文本,当所有模式字母都被消耗完时,解析就完成了。
标签: java validation date