Java

[Java] LocalDate 비교

_yoonie 2023. 8. 10. 13:23
  • compareTo() : 두 날짜가 동일하면 0, 호출한 객체에서 비교 객체의 차이값 리턴
  • isBefore()      : 호출한 객체가 비교 객체보다 이전 날짜인지 true/false 리턴 
  • isAfter()         : 호출한 객체가 비교 객체보다 이후 날짜인지 true/false 리턴 
  • isEqual()        호출한 객체와 비교 객체가 동일한지 true/false 리턴 
  • equals()         : 호출한 객체와 비교 객체가 true/false 리턴 

compareTo()

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate date1 = LocalDate.of(2023, 8, 10);
        LocalDate date2 = LocalDate.of(2023, 8, 11);
        LocalDate date3 = LocalDate.of(2023, 7, 31);

		
        date1.compareTo(date2); //1 (일)
        date1.compareTo(date3); //1 (개월)
        date2.compareTo(date1); //-1(일)
        date2.compareTo(date3); //1 (개월)
    }
}
  • 연도가 다르면 연도 차이 수 리턴
  • 연도 동일, 개월 다르면 개월의 차이 수 리턴
  • 연도 동일, 개월 동일, 날짜 다르면 날짜 차이 수 리턴

 

isBefore()

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate date1 = LocalDate.of(2023, 8, 10);
        LocalDate date2 = LocalDate.of(2023, 8, 11);
        LocalDate date3 = LocalDate.of(2023, 7, 31);
        LocalDate date4 = LocalDate.of(2023, 7, 31);

        boolean isDate1BeforeDate2 = date1.isBefore(date2); //true
        boolean isDate1BeforeDate3 = date1.isBefore(date3); //false
        boolean isDate2BeforeDate3 = date2.isBefore(date3); //false
        boolean isDate3BeforeDate3 = date3.isBefore(date3); //false
    }
}

isAfter()

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate date1 = LocalDate.of(2023, 8, 10);
        LocalDate date2 = LocalDate.of(2023, 8, 11);
        LocalDate date3 = LocalDate.of(2023, 7, 31);
        LocalDate date4 = LocalDate.of(2023, 7, 31);

        boolean isDate1BeforeDate2 = date1.isAfter(date2); //false
        boolean isDate1BeforeDate3 = date1.isAfter(date3); //true
        boolean isDate2BeforeDate3 = date2.isAfter(date3); //true
        boolean isDate3BeforeDate3 = date3.isAfter(date3); //false
    }
}

isEqual() , equals()

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate date1 = LocalDate.of(2023, 8, 10);
        LocalDate date2 = LocalDate.of(2023, 8, 11);
		LocalDate date3 = LocalDate.of(2023, 8, 11);
        
        boolean isDate1BeforeDate2 = date1.isEqual(date2); //false
        boolean isDate2BeforeDate3 = date2.isEqual(date3); //true

        boolean isDate1BeforeDate2 = date1.equals(date2); //false
        boolean isDate2BeforeDate3 = date2.equals(date3); //true
    }
}

 

 

728x90