-
Calendar 클래스 / 날짜 형식이 올바른지 판단하기프로그래밍/JAVA 자바 2021. 7. 22.반응형
public class DateUtil { /** * 날짜 형식이 올바른지 판단하여 반환 * * @param date 문자열의 날짜 * @return 형식이 올바른지의 여부(true/false) */ public boolean isValidDate(String date) { try { if (date.length() != 8 && date.length() != 10) { //20210722 or 2021-07-22 이런식으로 8글자나 10글자인지 확인 return false; } String p = "^\\d{4}(\\.|\\-|\\/)?\\d{2}(\\.|\\-|\\/)?\\d{2}$"; //입력된 서식 체크 if (!date.matches(p)) { //매치 안되면 폴스 return false; } date = date.replaceAll("(\\-|\\.|\\/)", ""); //괄호나 점 같은거 없애고 다 붙여준다 int y = Integer.parseInt(date.substring(0, 4)); // 인덱스0부터 4까지 2021 << 자르기 그리고 정수로 변환 int m = Integer.parseInt(date.substring(4, 6)); int d = Integer.parseInt(date.substring(6, 8)); //System.out.println(y); //System.out.println(m); //System.out.println(d); Calendar cal = Calendar.getInstance(); //캘린더 객체를 이용하기 위해 사용 cal.set(y, m - 1, d); // 날짜 설정하기 / 입력받은 date를 날짜로 설정해준다. //cal.set이 제대로 되었다면 위에 y,m,d랑 같아야한다 int y1 = cal.get(Calendar.YEAR); // int m1 = cal.get(Calendar.MONTH) + 1; // int d1 = cal.get(Calendar.DATE); // //System.out.println(y1); //System.out.println(m1); //System.out.println(d1); if (y != y1 || m != m1 || d != d1) { return false; //혹시 2021-02-35 이런식으로 잘못 입력했는지 확인하는 것이다. } } catch (Exception e) { // 예외가 발생한 경우 false를 반환 return false; } return true; }
Calendar를 import하는 부분도 잊지말자.
반응형'프로그래밍 > JAVA 자바' 카테고리의 다른 글
오버라이드 / 오버로딩 / 클래스 상속 (0) 2021.07.24 클래스 상속, override (0) 2021.07.22 기타 API (0) 2021.07.22 Calendar API / StringBuilder (0) 2021.07.21 자바의 기본 API 클래스 (String, 기본) (0) 2021.07.20