当前位置: 首页 > 知识库问答 >
问题:

接受无效日期

卜弘文
2023-03-14

我想验证用户输入的日期是否有效,格式是否正确。我使用这个块来检查用户的输入,但是当我输入一个无效的日期时,打印语句会给我奇怪的输出。

public String toDateString() {
        SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
        try {
            Date date = sdf.parse(driver.date); // checks date for formatting: MM/dd/yyyy
            System.out.println(date);
        } catch (ParseException e) {    // if date is formatted in anything other than MM/dd/yyyy
            e.printStackTrace();
        }
        return null;
    }

driver.date01/45/2021时,它打印Sun Feb14 00:00:00EST 2021

共有1个答案

徐新荣
2023-03-14

默认情况下,SimpleDateFormat是宽松的。这意味着它将溢出到下个月。调用setLenient(false)禁用此功能。

 类似资料:
  • 我想验证用户输入的日期是否有效,格式是否正确。我使用这个块来检查用户的输入,但是当我输入无效日期时,print语句会给我奇怪的输出。 当是时,它打印

  • 问题内容: 我遇到的问题是PrimesFaces 3.4.1日历。当使用通过按钮或在输入字段焦点上激活的弹出日期选择器时,您只能选择有效的日期,该日期很好,很开心! 当您在输入字段中手动添加日期时,就会出现问题,如果您添加了无效日期,PrimeFaces日历组件会尽最大的努力将其转换为有效日期然后发送,这意味着后端验证是不可行的。以下是一些有趣的翻译: 30/02/2012变成2/6/2014 3

  • 我有一个java代码,以特定的格式输入日期。 现在我输入的是无效日期。但它返回的日期是2016年1月14日星期四18:31:30。为什么会这样?如何使其返回null作为日期?

  • 对于上面的代码,获取输出,我期望的是。有人能解释为什么会发生这种情况,以及如何使用验证上面的日期吗。感谢你的努力。

  • 我的公司将Maven依赖项保留在具有无效SSL证书的服务器上。我们必须使用https进行连接。当我尝试运行Maven时,它无法下载资源。 我知道我要访问的站点的名称。我很乐意为该站点添加一个安全异常,或者关闭所有ssl证书的验证,以便所有https站点都被视为有效。 我正在使用Maven 3.0.4。 以下是我尝试构建时堆栈跟踪的一些亮点: ...