java - SimpleDateFormat 未捕获无效的第 13 个月

标签 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 应该可以解决此问题,但它仍然存在。 感谢您抽出时间。

最佳答案

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

关于java - SimpleDateFormat 未捕获无效的第 13 个月,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6230692/

相关文章:

java - 在嵌入式 Jetty Web 容器中运行 OSGi 容器。可能的?

javascript - 验证用 javaScript 编写的函数只运行一次?

java - 如何让 Vim 知道 Java 8 lambda 语法?

c - 在 C 中返回文本文件中的部分行

javascript - 带有图标的输入字段验证工作不顺利

java - 在Java中获取UTC格式的日期对象

java - Java 条件时间格式化

java - simpleDateFormat 不适用于 websphere

java - MainActivity 类型的 getSupportFragmentManager() 方法未定义 : android

java - java eclipse 中的 mp3