当前位置:   article > 正文

java日期+正则_java日期字符串正则

java日期字符串正则

正则是最好用的工具 牢记于心

一般java对日期的处理 我觉得基本操作吧 就是

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

通过这个 把形如“2018-06-19”的字符串转换成日期(java.util.Date格式)

但是这个转换 是会抛异常的 比如我取的是数据库中最大的日期 但有可能日期根本不存在 是个字符串 这样的话稳稳的是要报错抛异常的。为了解决这个问题 就又一次想到了正则

  1. String testStr = "";
  2. Pattern p = Pattern.compile("^\\d{4}\\-\\d{1,2}\\-\\d{1,2}$");
  3. Matcher m = p.matcher(testStr);
  4. if(!m.matches())
  5. {
  6. testStr = "2000-01-01";
  7. }
正则说明:
^\\d{4}\\-\\d{1,2}\\-\\d{1,2}$

这是一个纯粹的 yyyy-MM-dd格式的校验 只有完全符合这个格式 才通过 不然就会赋给一个默认值00年1月1号

如果查出来的字符串是 2018-06-19 16:40:42 肯定是不会通过的

但是可以修改为

  1. Pattern p = Pattern.compile("(\\d{4}\\-\\d{1,2}\\-\\d{1,2})+");
  2. Matcher m = p.matcher(testStr);
  3. if(!m.find())
  4. {
  5. testStr = "2000-01-01"
  6. }

来实现 只要有满足 yyyy-MM-dd格式的就可以转换

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/119323
推荐阅读
相关标签
  

闽ICP备14008679号