我正在尝试验证日期的查询参数。如果输入无效日期,我将返回 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 应该可以解决此问题,但它仍然存在。 感谢您抽出时间。
最佳答案
“mm”表示分钟。 “MM”代表几个月...尝试使用“yyyyMM”作为格式字符串。
关于java - SimpleDateFormat 未捕获无效的第 13 个月,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6230692/