我正在尝试使用GWT验证日期。在大多数情况下,使用以下代码可以正常工作:
boolean valid = true;
try{
DateTimeFormat.getFormat(DATE_FORMAT).parseStrict(value);
} catch (Exception e) {
valid = false;
}
return valid;
例如:
10/35/2014 15/25/2014 104/15/2014 10/500/2014
都返回错误。
我遇到的问题出现在这个实例中:
DateTimeObject将20144视为有效年份。但是,当我将其插入SQL数据库时,我收到一个错误。反正有没有改变DateTimeFormat所以今年也会抛出错误?或者任何类型的工作?
感谢任何帮助!
编辑:
我能够通过两种方式解决这个问题。
拆分原始字符串并检查年份长度仅为4个字符
创建日期12/31/3999并检查解析日期是否在此日期之前。
由于
答案 0 :(得分:1)
20144是有效年份。它不会很快发生,但它会。在您的情况下,最简单的解决方案是设置您允许的最大年限。它可以是9999(maximum year in Microsoft SQL),或者更接近你的项目要求。