java验证日期"yyyyMMdd"正则表达式,

如题所述

第1个回答  2013-09-25
正则表达式如下
/^(\d{4})-(\d{2})-(\d{2})$/
第2个回答  2013-09-25
/^(\d{4})-(\d{2})-(\d{2})$/
第3个回答  推荐于2020-12-18
/^(\d{4})(0\d{1}|1[0-2])(0\d{1}|[12]\d{1}|3[01])$/;
第5个回答  推荐于2017-10-05

正则表达式,比较麻烦,还要考虑闰年2月29天的问题,建议还是用程序判断

import java.text.Format;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class $ {
    public static void main(String[] _) {

        test("20130229");
        test("20130228");
    }

    private static void test(String str) {
        try {
            Format f = new SimpleDateFormat("yyyyMMdd");
            Date d = (Date) f.parseObject(str);

            String tmp = f.format(d);
            System.out.println(str + ":" + tmp.equals(str));
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

20130229:false
20130228:true

本回答被提问者和网友采纳
相似回答