我正在尝试使用 GWT 验证日期。对于大多数目的,使用下面的代码可以正常工作:
boolean valid = true;
try{
DateTimeFormat.getFormat(DATE_FORMAT).parseStrict(value);
} catch (Exception e) {
valid = false;
}
return valid;
例如:
2014年10月35日 15/25/2014 104/15/2014 10/500/2014
全部返回错误。
我遇到的问题发生在这个实例上:
- 20144年10月20日
DateTimeObject 将 20144 识别为有效年份。但是,当我将其插入 SQL 数据库时,我收到错误。是否有办法改变 DateTimeFormat 以便今年也抛出错误?或者任何类型的解决办法??
感谢任何帮助!
编辑:
我可以通过两种方式解决这个问题。
拆分原始字符串并检查年份长度是否只有 4 个字符
创建日期 12/31/3999 并检查解析的日期是否在此日期之前。
谢谢
最佳答案
20144 是有效年份。这不会很快发生,但它会发生。针对您的情况,最简单的解决方案是对允许的最长年份设置限制。它可以是 9999( maximum year in Microsoft SQL ),或更接近的值,具体取决于您的项目要求。
关于java - DateTimeFormat 日期验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26260190/