SimpleDateFormat在第13个月没有捕获无效

时间:2011-06-03 17:44:46

标签: java validation simpledateformat

我正在尝试验证日期的查询参数。如果输入的日期无效,我将返回400 BAD_REQUEST响应代码。但是,我的验证没有捕获'201113'的无效日期。然而,它会捕获无效年份,例如'000012'。 我使用以下代码:

SimpleDateFormat df = new SimpleDateFormat("yyyymm"); 
    df.setLenient(false);
    try
    {
        df.parse(endDate);
        df.parse(startDate);
    }
    catch(ParseException e)
    {
        throw new WebApplicationException(Response.Status.BAD_REQUEST);
    }

我知道将lenient设置为false应该已经修复了这个问题,但它仍然存在。 谢谢你的时间。

1 个答案:

答案 0 :(得分:4)

“mm”是分钟。 “MM”是几个月......请尝试使用“yyyyMM”作为格式字符串。