>  기사  >  Java  >  Java는 문자가 날짜 형식인지 확인합니다.

Java는 문자가 날짜 형식인지 확인합니다.

angryTom
angryTom원래의
2019-11-15 17:14:275121검색

Java는 문자가 날짜 형식인지 확인합니다.

java는 문자가 날짜 형식인지 확인합니다.

"2018-02-30"과 같은 문자열이 정확하고 합리적인 날짜인지 확인합니다.

1. SimpleDateFormat의 형식 메서드를 사용하여 구문 분석합니다. 오류가 보고되면 날짜 형식이 아닙니다.

2. 문자열을 "-"로 분할하려면

3. 그렇지 않은 경우 문자열은 날짜 형식이 아닙니다.

//假设传入的日期格式是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;
}

php 중국어 웹사이트, 수많은 무료 Java 입문 튜토리얼, 온라인 학습을 환영합니다!

위 내용은 Java는 문자가 날짜 형식인지 확인합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.