DateTimeFormat日期验证错误

时间:2014-10-08 15:02:03

标签: java date gwt datetime-format

我正在尝试使用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

都返回错误。

我遇到的问题出现在这个实例中:

  • 10/20/20144

DateTimeObject将20144视为有效年份。但是,当我将其插入SQL数据库时,我收到一个错误。反正有没有改变DateTimeFormat所以今年也会抛出错误?或者任何类型的工作?

感谢任何帮助!

编辑:

我能够通过两种方式解决这个问题。

  1. 拆分原始字符串并检查年份长度仅为4个字符

  2. 创建日期12/31/3999并检查解析日期是否在此日期之前。

  3. 由于

1 个答案:

答案 0 :(得分:1)

20144是有效年份。它不会很快发生,但它会。在您的情况下,最简单的解决方案是设置您允许的最大年限。它可以是9999(maximum year in Microsoft SQL),或者更接近你的项目要求。