• 技术文章 >Java >Java基础

    java判断字符串是否为合法日期

    尚2019-12-02 11:27:59原创2649

    判断字符串像“2018-02-30”这样的日期是不是正确合理的日期:(推荐:java视频教程

     //假设传入的日期格式是yyyy-MM-dd HH:mm:ss, 也可以传入yyyy-MM-dd,如2018-1-1或者2018-01-01格式
     
        public static boolean isValidDate(String strDate) {
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            try {
                // 设置lenient为false. 否则SimpleDateFormat会比较宽松地验证日期,比如2018-02-29会被接受,并转换成2018-03-01 
                
                format.setLenient(false);
                Date date = format.parse(strDate);
                
                //判断传入的yyyy年-MM月-dd日 字符串是否为数字
                String[] sArray = strDate.split("-");
                for (String s : sArray) {
                    boolean isNum = s.matches("[0-9]+");
                    //+表示1个或多个(如"3"或"225"),*表示0个或多个([0-9]*)(如""或"1"或"22"),?表示0个或1个([0-9]?)(如""或"7")
                    if (!isNum) {
                        return false;
                    }
                }
            } catch (Exception e) {
                // e.printStackTrace();
                // 如果throw java.text.ParseException或者NullPointerException,就说明格式不对
                return false;
            }
     
            return true;
        }

    SimpleDateFormat 类

    SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类,它允许进行格式化(日期→文本)、解析(文本→日期)和规范化。SimpleDateFormat 使得可以选择任何用户定义的日期/时间格式的模式。

    SimpleDateFormat 类主要有如下 3 种构造方法。

    SimpleDateFormat():用默认的格式和默认的语言环境构造 SimpleDateFormat。

    SimpleDateFormat(String pattern):用指定的格式和默认的语言环境构造 SimpleDateF ormat。

    SimpleDateFormat(String pattern,Locale locale):用指定的格式和指定的语言环境构造 SimpleDateF ormat。

    更多java知识请关注java基础教程栏目。

    以上就是java判断字符串是否为合法日期的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:java
    上一篇:java中string乱码解决方法介绍 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • java文件读取出现乱码解决方法• java编译乱码解决方法介绍• java判断字符串是否为数字• java判断目录是否存在的方法介绍
    1/1

    PHP中文网