language/java

java 날짜 체크하기

CofS 2018. 2. 23. 16:16
java 날짜 체크하기

 

 

날짜를 입력받을 때 년도, 년월, 년월일 등을 입력받을 수 도 있지만

 

날짜의 유형에 어긋나도록 입력받을 수 도 있다.

 

예를들면 20182201 이런 형태는 22월이 없기 때문에 잘못 입력받은 날짜이다.

 

그래서 String 형태로 입력받은 날짜를 포멧별로 체크하는 함수가 필요했다.

 

날짜 체크 함수

1
2
3
4
5
6
7
8
9
10
    public static boolean dateCheck(String date, String format) {
        SimpleDateFormat dateFormatParser = new SimpleDateFormat(format, Locale.KOREA);
        dateFormatParser.setLenient(false);
        try {
            dateFormatParser.parse(date);
            return true;
        } catch (Exception Ex) {
            return false;
        }
    }
cs

1# : 날짜 체크 함수

date : 날짜, format : 포멧형식(yyyy, yyyyMM, yyyyMMdd 등등...)

2# : SimpleDateFormat 객체를 생성한다.

3# : 체크를 여유있게 하지 않겠다는 설정(관대한 체크를 false로 셋팅함)

5# : 입력받은 날짜를 parse 함

오류 발생 = 올바르지 않는 날짜임

try catch문을 활용해서 return 값을 조정

 

 



 

사용방법

1
2
3
4
5
6
        System.out.println(DateUtil.dateCheck("201801""yyyyMM"));
        System.out.println(DateUtil.dateCheck("201821""yyyyMM"));
        System.out.println(DateUtil.dateCheck("20180101""yyyyMMdd"));
        System.out.println(DateUtil.dateCheck("20182101""yyyyMMdd"));
        System.out.println(DateUtil.dateCheck("20180151""yyyyMMdd"));
        System.out.println(DateUtil.dateCheck("aaaaaa""yyyyMMdd"));
cs

 

 

결과

1
2
3
4
5
6
true
false
true
false
false
false
cs