>  기사  >  Java  >  Java는 문자열이 법적 날짜인지 여부를 확인합니다.

Java는 문자열이 법적 날짜인지 여부를 확인합니다.

尚
원래의
2019-12-02 11:27:593639검색

Java는 문자열이 법적 날짜인지 여부를 확인합니다.

"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(문자열 패턴): 지정된 형식과 기본 로케일을 사용하여 SimpleDateFormat을 생성합니다.

SimpleDateFormat(String Pattern,Locale locale): 지정된 형식과 지정된 로케일을 사용하여 SimpleDateFormat을 생성합니다.

더 많은 Java 지식을 알고 싶다면 java 기본 튜토리얼 칼럼을 주목해주세요.

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

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