* 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;
}
}