자바에서 두 날짜를 비교하는 방법입니다.
equals, before, after, compareTo 를 사용해서 비교합니다.
상황에 따라 사용하면 됩니다. 설명은 주석을 봐주세요.
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleTesting {
public static void main(String[] args) {
try {
SimpleDateFormat sdformat = new SimpleDateFormat("dd-MM-yyyy");
Date date1 = sdformat.parse("2021-01-25");
Date date2 = sdformat.parse("2020-01-25");
System.out.println("date1: " + sdformat.format(date1));
System.out.println("date2: " + sdformat.format(date2));
//날짜가 같으면 true
if (date1.equals(date2)) {
System.out.println("같은 날짜입니다.");
}
//date1 이 date2보다 이전 이면 true
if (date1.before(date2)) {
System.out.println("date1은 date2 이후입니다.");
}
//date1 이 date2보다 이후이면 true
if (date1.after(date2)) {
System.out.println("date1은 date2 이전입니다.");
}
//date1과 date2 를 비교했을 때
//같은 날짜면 0 반환
//이전면 음수 반환
//이후면 양수 반환
if(date1.compareTo(date2) > 0) {
System.out.println("date1은 date2 이후입니다.");
} else if(date1.compareTo(date2) < 0) {
System.out.println("date1은 date2 이전입니다.");
} else if(date1.compareTo(date2) == 0) {
System.out.println("같은 날짜입니다.");
}
} catch (ParseException e) {
}
}
}
https://www.delftstack.com/ko/howto/java/how-to-compare-two-dates-in-java/