woodisco 2023. 8. 28. 13:32

 

날짜 유효성 체크 처리

 

public boolean dateCheck(String _yyyymmdd) {
   try {
        DateFormat df = new SimpleDateFormat("yyyyMMdd");
        df.setLenient(false);
        final String s1 = df.format(df.parse(_yyyymmdd));
    } catch (Exception e) {
        // error
        return false;
    }
    return true;
}

 

DateFormat 클래스를 사용하여 날짜 형식을 지정하고, 이 형식에 맞게 문자열을 날짜로 변환한다. df.setLenient(false)는 날짜 변환 모드를 설정한다. 이 모드에서는 날짜 문자열이 형식에 맞지 않을 경우 변환을 시도하지 않고 바로 예외를 발생시킨다. df.parse(_yyyymmdd)는 주어진 날짜 문자열 _yyyymmdd를 df의 형식에 맞게 날짜로 변환하여 변환 결과를 다시 문자열 형태로 포맷하여 s1에 저장한다.

즉 주어진 문자열이 올바른 날짜 형식이 아닌 경우, 함수는 false를 반환하고 종료된다. return true는 모든 작업이 정상적으로 수행되었을 때 함수가 true를 반환하고 종료됨을 나타낸다.