[Java] 날짜 포맷의 유효성 체크하기(Validation Date)

개발을 하다보면 데이터베이스에 지정된 포맷의 날짜를 넣어야 할 경우들이 종종 있고 그렇게 되면 자연스럽게 이 데이터가 정해진 날짜 포맷에 맞는지 검증하는 로직이 들어가야 합니다. 

 

날짜 포맷의 유효성 검사하기 (Validation Date)

public class test {
    public static void main(String[] args) {
        String exDate1 = "2021/01/01";
        String exDate2 = "20210101";
        
        System.out.println(checkDate(exDate1));
        System.out.println(checkDate(exDate2));
    }
    
    public static boolean checkDate(String checkDate) {
        try {
            SimpleDateFormat dateFormatParser = new SimpleDateFormat("yyyy/MM/dd"); //검증할 날짜 포맷 설정
            dateFormatParser.setLenient(false); //false일경우 처리시 입력한 값이 잘못된 형식일 시 오류가 발생
            dateFormatParser.parse(checkDate); //대상 값 포맷에 적용되는지 확인
            return true;
        } catch (Exception e) {
            return false;
        }
    }
}

우선 setLenient(false); 으로 설정하여 잘못된 형식일 시 예외를 탈 수 있도록 설정해둡니다. 그런 뒤 정해진 포맷에 대상 문자열을 parse하시면 됩니다. 만약 문제가 있을 경우 Exception을 던질것입니다.

댓글

Designed by JB FACTORY