본문 바로가기
개발/JAVA

[JAVA] 날짜 비교 하기 (Date, LocalDateTime, LocalDate)

by zuzuu 2021. 12. 21.
반응형

1. java.util.Date에는 날짜를 비교할 수 있는 메소드가 두가지 있다.

  • after, before 사용

- before: 인자보다 과거일 때 true
- after: 인자보다 미래일 때 true
- equal: 인자와 같을 때 true

public void compareDate(Date date1, Date date2){

        if(date1.after(date2)){
            System.out.println("Date1 > Date2");
        }

        if(date1.before(date2)){
            System.out.println("Date1 < Date2");
        }

        if(date1.equals(date2)){
            System.out.println("Date1 = Date2");
        }
 }

 

  • compareTo 사용

- compareTo > 0 : 인자보다 미래일 때
- compareTo < 0 : 인자보다 과거일 때
- compareTo = 0 : 인자와 같을 떄

 public void compareDate2(Date date1, Date date2){

        if (date1.compareTo(date2) > 0) {
            System.out.println("Date1 > Date2");
        }
        
        if(date1.compareTo(date2) < 0){
            System.out.println("Date1 < Date2");
        }

        if(date1.compareTo(date2) == 0){
            System.out.println("Date1 = Date2");
        }
}

 

 

2. java.time.LocalDateTime, LocalDate, LocalTime, ZonedDateTime (java 1.8부터 사용 가능)

- isBefore : 인자보다 과거일 때 true
- isAfter : 인자보다 미래일 때 true
- isEqual : 인자와 같을 때 true

public void compareDate3(LocalDateTime date1, LocalDateTime date2) {

        if (date1.isBefore(date2)) {
            System.out.println("Date1 < Date2");
        }

        if (date1.isAfter(date2)) {
            System.out.println("Date1 > Date2");
        }

        if (date1.isEqual(date2)) {
            System.out.println("Date1 = Date2");
        }
}
728x90
반응형

댓글