小编典典

使用Java Date和SimpleDateFormat验证范围

java

大家好,我想知道在尝试使用以下代码解析日期时是否可以处理Date异常:

try{
   SimpleDateFormat df = new SimpleDateFormat("dd:MM:yyyy"); 
   Date date = df.parse(dateRelease);
}catch (ParseException e) {}

好吧,如果“ dateRelease”的格式类型不正确,则会引发ParseException,但我想知道是否有人写成“
40/03/2010”-错了日期,月份或年份的范围。实际上,当发送无效日期时,SimpleDateFormat只会使用默认数字创建一个新的Date。

我是否必须使用正则表达式创建我自己的方法来处理它,还是存在一个告诉我要捕获的异常?


阅读 222

收藏
2020-11-26

共1个答案

小编典典

您可以透过它不宽松SimpleDateFormat#setLenient()了一个数false

SimpleDateFormat df = new SimpleDateFormat("dd:MM:yyyy"); 
df.setLenient(false);
Date date = df.parse(dateRelease);

然后,ParseException当日期不在有效范围内时,它将引发。

2020-11-26