Java - 문자열로된 날짜 유효성 체크하기

* java.text.DateFormat.setLenient(boolean lenient)를 활용하여 체크.
  lenient를 false로 설정하면 유효한 날짜가 아닐 경우 ParseException이 발생.




import java.text.SimpleDateFormat;

/**
 * 문자열로 된 날짜 형식이 유효한지 체크
 * @param dateStr
 * @return 유효하면 true, 아니면 false
 */
public static boolean checkDateYYYYMMDD(String dateStr)
{
    try {
        SimpleDateFormat sdfYYYYMMDD = new SimpleDateFormat("yyyyMMdd");
        sdfYYYYMMDD .setLenient(false);
        sdfYYYYMMDD .parse(dateStr); //ex) dateStr="20201232"이면 ParseException 발생
        return true;
    } catch(ParseException e) {
        return false;
    } catch(Exception e) {
        return false;
    }
}