java.util.Date对象是否验证日期有效性?
我只是写了这个单元测试:
@Testpublic 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 2502dateWithSimpleFormat Wed Jun 21 00:00:00 CEST 2502
的DateHelper.DD_MM_YYYY_FORMAT
图案是dd/MM/yyyy
与getDateFromString
是使用把字符串日期日期对象的方法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