当前位置: 首页 > 面试题库 >

java.util.Date对象是否验证日期有效性?

慕容念
2023-03-14
问题内容

我只是写了这个单元测试

@Test
public void testGetDateFromString() throws ParseException{
    String date = "52/29/2500";
    Date dateFromString = DateHelper.getDateFromString(date, DateHelper.DD_MM_YYYY_FORMAT);

    SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DateHelper.DD_MM_YYYY_FORMAT);
    Date dateWithSimpleFormat = simpleDateFormat.parse(date);

    Assert.assertNotNull(dateFromString);
    Assert.assertNotNull(dateWithSimpleFormat);

    Assert.assertTrue(dateFromString.equals(dateWithSimpleFormat));

    System.out.println("dateFromString " + dateFromString);
    System.out.println("dateWithSimpleFormat " + dateWithSimpleFormat);
}

输出为:

dateFromString Wed Jun 21 00:00:00 CEST 2502
dateWithSimpleFormat Wed Jun 21 00:00:00 CEST 2502

DateHelper.DD_MM_YYYY_FORMAT图案是dd/MM/yyyygetDateFromString是使用把字符串日期日期对象的方法commons- lang的库。

为什么des.java.util.Date对象验证日期有效性?


问题答案:

您需要进行设置,simpleDateFormat.setLenient(false);以使SimpleDateFormat严格验证您的输入。

您可以参考setLenient文档以进一步了解。根据定义,

Specify whether or not date/time parsing is to be lenient. With lenient parsing, 
the parser may use heuristics to interpret inputs that do not precisely match this 
object's format. With strict parsing, inputs must match this object's format.


 类似资料:
  • 问题内容: 我有一列以()格式保存。我需要验证如果该月在30天内结束,那么没有报告损失日期为31的损失。我有数百万条记录。帮助将不胜感激。 查询应返回最后一个无效记录,因为200806在30天内结束。 问题答案: 对于您的特定问题,以下内容将返回错误的行: 根据您的输入界面,您可能需要重复31个月的几个月,以显示大于31的值。 2月有点棘手。逐步开始,确定超过29天的所有2月条目,您可以立即删除/

  • 以下是场景: 我有一个日期和一个不同的日期格式。示例: 日期:2016-10-19 日期格式:“DD-MM-YYYY”。 我需要检查这个日期是否有效。 我尝试过跟踪事情 d.isValid()每次返回false。Moment.js解析给定格式的日期吗? 然后我尝试先在中格式化日期,然后将其传递给矩。js: 现在<代码>日期。isValid()给了我想要的结果,但现在是时候了。js日期对象创建两次。

  • 在react中验证道具的当前首选方法是什么? 现在我正在使用: 然而,这现在不符合禁止支柱类型棉绒规则。我应该使用还是有更好的方法?

  • 使用spring我有这个endpoint, 带有日期字段的对象的Spring验证失败

  • 本文向大家介绍纯javascript判断查询日期是否为有效日期,包括了纯javascript判断查询日期是否为有效日期的使用技巧和注意事项,需要的朋友参考一下 以下内容主要通过js代码给大家介绍,代码比较简单,包含注释,有好的建议欢迎提出。 如下图,当查询条件含有日期时,如“2012-3-4”,查询前校验输入的日期字符串是否为有效的日期 js判断年月日是否一个有效日期 以上代码就是对日期的有效性校

  • 我是一个新的论坛和Appium/Android自动化,我需要帮助,以验证对象是否存在我的应用程序之前,我采取下一个行动。 信息:[BOOTSTRAP][info]返回结果:{“value”:“未找到元素”,“status”:7} 信息:将命令推送到appium工作队列:[“find”,{“strategy”:“name”,“selector”:“John Doe”,“context”:“”,“mu