Language/Java
[Java] 날짜 포맷의 유효성 체크하기(Validation Date)
코딩팩토리
2021. 5. 25. 22:42
개발을 하다보면 데이터베이스에 지정된 포맷의 날짜를 넣어야 할 경우들이 종종 있고 그렇게 되면 자연스럽게 이 데이터가 정해진 날짜 포맷에 맞는지 검증하는 로직이 들어가야 합니다.
날짜 포맷의 유효성 검사하기 (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을 던질것입니다.