상세 컨텐츠

본문 제목

Java 날짜 비교 (compareTo)

프로그램 언어/Java

by husks 2016. 12. 14. 14:42

본문

반응형


Java 에서 날짜 비교 하는 방법입니다.


compareTo 함수를 사용하면 되고 calendar1.compareTo(calendar2); 이런 형식으로 사용합니다.


calendar1 > calendar2 : 1

calendar1 == calendar2 : 0

calendar1 < calendar2 : -1


아래 소스를 참고 하시면 됩니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import java.text.SimpleDateFormat;
import java.util.Calendar;
 
 
public class DateCompare {
 
    public static void main(String[] args) {
        
        int year1 = 2016;
        int month1 = 12;
        int day1 = 31;
        
        int year2 = 2016;
        int month2 = 11;
        int day2 = 21;
        
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
 
        Calendar calendar1 = Calendar.getInstance();
        calendar1.set(Calendar.YEAR, year1);
        calendar1.set(Calendar.MONTH, month1-1);
        calendar1.set(Calendar.DAY_OF_MONTH, day1);
        
        Calendar calendar2 = Calendar.getInstance();
        calendar2.set(Calendar.YEAR, year2);
        calendar2.set(Calendar.MONTH, month2-1);
        calendar2.set(Calendar.DAY_OF_MONTH, day2);
        
        //앞에 변수가 크면 1, 작으면 -1, 같으면 0
        int result1 = calendar1.compareTo(calendar2);
        int result2 = calendar2.compareTo(calendar1);
        
        System.out.println(dateFormat.format(calendar1.getTime())+" compareTo "+dateFormat.format(calendar2.getTime()));
        System.out.println("result1: "+result1);
        
        System.out.println("");
        
        System.out.println(dateFormat.format(calendar2.getTime())+" compareTo "+dateFormat.format(calendar1.getTime()));
        System.out.println("result2: "+result2);
        
        System.out.println("");
        
        if(result1 > 0){
            
            System.out.println(dateFormat.format(calendar1.getTime())+" > "+dateFormat.format(calendar2.getTime()));
            
        }else if(result1 == 0){
            
            System.out.println(dateFormat.format(calendar1.getTime())+" == "+dateFormat.format(calendar2.getTime()));
            
        }else{
            
            System.out.println(dateFormat.format(calendar1.getTime())+" < "+dateFormat.format(calendar2.getTime()));
            
        }
 
    }
 
}



[결과]



반응형

관련글 더보기

댓글 영역