大家好,我想知道在尝试使用以下代码解析日期时是否可以处理Date异常:
try{ SimpleDateFormat df = new SimpleDateFormat("dd:MM:yyyy"); Date date = df.parse(dateRelease); }catch (ParseException e) {}
好吧,如果“ dateRelease”的格式类型不正确,则会引发ParseException,但我想知道是否有人写成“ 40/03/2010”-错了日期,月份或年份的范围。实际上,当发送无效日期时,SimpleDateFormat只会使用默认数字创建一个新的Date。
我是否必须使用正则表达式创建我自己的方法来处理它,还是存在一个告诉我要捕获的异常?
您可以透过它不宽松SimpleDateFormat#setLenient()了一个数false。
SimpleDateFormat#setLenient()
false
SimpleDateFormat df = new SimpleDateFormat("dd:MM:yyyy"); df.setLenient(false); Date date = df.parse(dateRelease);
然后,ParseException当日期不在有效范围内时,它将引发。
ParseException