Java
[Java] 입력할 때 날짜규칙 설정: 허용 O or X - dateFormat.setLenient(false)
brightGarden02
2023. 1. 13. 14:23
날짜에 대해 규칙을 주고
해당 규칙에 맞게 입력값을 주고 싶을때
date.setLenient(false)를 사용한다.
lenient는 관대한이라는 뜻이다.
false이니 허용하지 않는다고 보면 된다.
날짜 입력에서 규칙에 어긋나면 parse할 때 에러를 잡도록 했다.
public static boolean validationDate(String checkDate) {
try {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
dateFormat.parse(checkDate);
return true;
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
날짜 입력 규칙대로 입력한 경우
true로 정상적으로 출력된다.
boolean dateParsed = validationDate("2023-01-06");
// boolean dateParsed = validationDate("2023.01.06");
System.out.println("dateParsed = " + dateParsed);
날짜 입력 규칙대로 입력하지 않은 경우
에러가 난다.
// boolean dateParsed = validationDate("2023-01-06");
boolean dateParsed = validationDate("2023.01.06");
System.out.println("dateParsed = " + dateParsed);