Java针对日期格式的转化

本文介绍了使用Java的SimpleDateFormat类和正则表达式来验证日期格式为yyyy-MM-dd的两种方法。首先通过SimpleDateFormat设置lenient属性为false,然后尝试解析日期字符串,若抛出异常则日期格式错误。其次,提供了复杂的正则表达式用于匹配符合规定的日期格式。

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

  SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
  Date date = new Date();
  System.out.println(format.format(date));
  try {
    // 设置lenient为false. 否则SimpleDateFormat会比较宽松地验证日期,
    //比如2007/02/29会被接受,并转换成2007/03/01
       format.setLenient(false);
       format.parse(next);
       System.out.println("正确");
  } catch (ParseException e) {
    // e.printStackTrace();
    // 如果throw java.text.ParseException或者NullPointerException,就说明格式不对
     System.out.println("错误");
   } 

如何使用正则表达式验证日期格式为 yyyy-MM-dd

String regex = "(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]
                 {3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|
                 [12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|
                 [2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)";
if(!next.matches(regex)){
   System.out.println("错误");
}else{
   System.out.println("正确");
}

验证日期格式方面推荐使用第一种

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值