after() / before() / equals()는 두 날짜를 비교하는 메소드입니다.
Date 타입의 변수에서 사용이 가능하며, 밀리초 단위로 변환 후 비교합니다.
- date1.after(date2) : date1이 date2보다 이후이면 true를 반환합니다.
- date1.before(date2) : date1이 date2보다 이전이면 true를 반환합니다.
- date1.equals(date2) : date1이 date2와 같으면 true를 반환합니다.
예제 코드
String date1 = "20230110";
String date2 = "20230301";
String yyyy1 = date1.substring(0, 4); // 2023
String yyyy2 = date2.substring(0, 4); // 2023
String mmdd1 = date1.substring(4, 8); // 0110
String mmdd2 = date2.substring(4, 8); // 0301
DateFormat format = new SimpleDateFormat("MMdd");
Date fdate1 = format.parse(mmdd1); // Sat Jan 10 00:00:00 KST 1970
Date fdate2 = format.parse(mmdd2); // Sun Mar 01 00:00:00 KST 1970
String yyyy = "";
if(fdate1.after(fdate2)) {
System.out.println("fdate1이 fdate2보다 이후이면");
yyyy = Integer.toString(Integer.parseInt(yyyy1) + 2);
System.out.println(yyyy);
} else if(fdate1.before(fdate2)) {
System.out.println("fdate1이 fdate2보다 이전이면");
yyyy = Integer.toString(Integer.parseInt(yyyy1) + 1);
System.out.println(yyyy);
}
결과
fdate1(1월 10일)이 fdate2(3월 1일)보다 이전이므로 fdate1.before(fdate2) 조건문을 타게되고,
yyyy1인 2023에 1을 더하게 되어 yyyy : 2024가 출력됩니다.
출처
[Java] - 자바 날짜 비교 메서드 [before(), after(), equals()] 사용법 (tistory.com)
[Java] - 자바 날짜 비교 메서드 [before(), after(), equals()] 사용법
#자바 날짜 비교 메서드 [before(), after(), equals()] 사용법 -Java에서 두 날짜를 비교하는 메서드이다. -before(): date값이 주어진 date보다 이전이면 true 반환한다. -after(): date값이 주어진 date보다 이후이
pingfanzhilu.tistory.com
'Java' 카테고리의 다른 글
컬렉션(Collection) - Map (0) | 2021.10.20 |
---|---|
컬렉션(Collection) - Set (0) | 2021.10.20 |
컬렉션(Collection) - List (0) | 2021.10.12 |
추상(Abstract) (0) | 2021.10.05 |
다형성(polymorphism) (0) | 2021.09.30 |