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

我只是写了这个单元测试:

@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.

以上是 java.util.Date对象是否验证日期有效性? 的全部内容, 来源链接: utcz.com/qa/410746.html

回到顶部