날짜에 대해 규칙을 주고
해당 규칙에 맞게 입력값을 주고 싶을때
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);
'Java' 카테고리의 다른 글
[Error] Tomcat version 8.5 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5, 6, and 7 Web modules (0) | 2023.03.03 |
---|---|
[Error] java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException (0) | 2023.02.27 |
[JAVA] List, ArrayList 차이 (0) | 2023.01.04 |
java entity -> dto 변환 stream, map, collect 사용 - 동작원리(1) (0) | 2023.01.02 |
json을 flat(parameter-delimiter)파일로 변환하기(json 파싱) (0) | 2022.12.16 |
댓글