DateFormat setLenient

本文详细介绍了DateFormat中的setLenient方法,用于调整日期解析的宽松度,通过示例展示了如何使用该方法进行日期验证,确保程序在面对非法日期输入时的健壮性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.DateFormat中的setLenient(boolean flag)方法

此方法用来标志是否严格解析日期.其实很简单,就是如果你输入的日期不合法,它会不会先进行一定的计算.计算出能有合法的值,就以计算后的值为真正的值.比如说当你使用的时候有2012-02-31,2012-14-03这样数据去format,如果让setLenient(true).那么它就会自动解析为2012-03-02和2013-02-03这样的日期.如果改为setLenient(false)就会让这样出现解析异常,因为去掉了计算,而这样的数据又是不合法的,所以出现异常也是合理的.

 

 public static boolean validateDate(String strDate)
 {
  try
  {
   SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
   df.setLenient(false);
   Date d = df.parse(strDate);
   df.format(d);
  }
  catch (Exception e)
  {
   return false;
  }
  return true;
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值