본문 바로가기
컴퓨터관련/Java

[Java]날짜 및 시간 비교 메소드 compareTo

by 빛과 어둠사이 2019. 12. 9.
728x90
반응형
SMALL

오늘은 자바 쪽 정리를 해보려고 합니다.

오랜만에 Java를 정리해보네요.


이번에는 java에서의 날짜 및 시간을 비교하는

메소드인 compareTo 에 대해서

정리를 해 보고자 합니다.


compareTo함수는 

date 클래스 안에 있는 메소드입니다.

이 함수는 현 date객체의 날짜와

파라미터로 전달받은 date 객체의 날짜를 비교하여

결과값을 return 해줍니다.


결과값은 -1, 0, 1 

이렇게 3가지 종류입니다.

그래서 현 date 객체보다

파라미터 변수로 받은 객체의 값이

더 크면 1

같으면 0

작으면 -1

이렇게 리턴을 해 주는 것입니다.



제가 알기로는 compareTo 함수는 

아래처럼 된 것으로

알고있습니다.


1
2
3
4
5
public int compareTo(Date anotherDate) {
    long thisTime = getMillisOf(this);
    long anotherTime = getMillisOf(anotherDate);
    return (thisTime<anotherTime ? -1 : (thisTime==anotherTime ? 0 : 1));
}
cs


위처럼 된 것으로 알고 있습니다.

위처럼 현재 date 객체와

파라미터 객체의 값을 비교하여

리턴하게 해주는 것입니다.


지게 제가 코딩했던

소스를 예로 보여드리겠습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Date d1 = null;
Date d2 = null;
try {
    Date currentTime = new Date ();
    SimpleDateFormat SimpleDateFormat  = new SimpleDateFormat ( "yyyy-MM-dd HH:mm:ss");            
    SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");            
    d1 = f.parse("2019-12-06 15:00:00");
    d2 = f.parse(SimpleDateFormat.format(currentTime));
}  catch (Exception e) {
    e.printStackTrace();
}
 
    
if(d1.compareTo(d2) >= 0) {
    System.out.println("d1값이 d2보다 큼");
}
cs


저는 위처럼 하였습니다.

제가 지정을 한 날짜 및 시간과

현재 날짜 및 시간을 가지고 옵니다.


그래서 두 값일 비교하여

제가 지정한 값보다 현재가 더 과거일 경우에만

if문 안이 실행되도록 한 것입니다.


날짜나 if문의 조건 등을

변경하여

원하시는 용도로 사용하실 수 있으실 것 같습니다.





오늘은 자바에서의 날짜 및 시간을 비교하는 

메소드에 대해서

알아보았습니다.


date클래스의 compareTo 메소드(함수)를 이용하여

날짜를 비교할 수 있습니다.



이상으로 java에서의 날짜, 시간을 비교하는 방법이였습니다~



728x90
반응형
LIST