티스토리 뷰

Android

Calendar 연산

4nekst 2019. 3. 11. 10:03
Calendar.compareTo() - 날짜 비교하기

 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static void main(String[] args) {
    Calendar cal1 = Calendar.getInstance();
    cal1.set( 19941117141528 );
    
    Calendar cal2 = Calendar.getIstance();
    cal2.set( 1989126182612 );
    
    System.out.println("cal1 compareTo cal2 : " + cal1.compareTo(cal2));
            
}
------------------------------------------
result
 
cal1 compareTo cal2 : 1
cs

 


 비교하려는 날짜1.compareTo(비교하려는 날짜2);


 두 Calendar 객체를 가지고 비교하는 compareTo() 함수에요.


    1. cal1 == cal2 일 경우 return 0

    2. cal1 > cal2 일 경우 return 1

    3. cal1 < cal2 일 경우 return -1


 더 설명은 필요 없을꺼 같네요 ㅎㅎ


 

 

Calendar - 두 날짜 차이 구하기 , Calendar.getTimeInMillis() - 시간 받아오기



 

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
public static void main(String[] args) {
    Calendar cal1 = Calendar.getInstance();
    cal1.set( 19941117141528 );
    
    Calendar cal2 = Calendar.getInstance();
    cal2.set( 1989126182612 );
    
    System.out.println("cal1 : " + cal1.getTimeInMillis());
    System.out.println("cal2 : " + cal2.getTimeInMillis());     
    
    long diff = cal1.getTimeInMillis() - cal2.getTimeInMillis();
    
    long sec = diff / 1000
    long min = diff / (60 * 1000); 
    long hour = diff / (60 * 60 * 1000); 
    long day = diff / (24 * 60 * 60 * 1000); 
    
    System.out.println();
    System.out.println("diff = " + diff);
    System.out.println("diff = " + day + "일" + (hour - day*24)  + "시간" 
                                  + (min - hour*60+ "분" + (sec - min*60+ "초");
 
}
------------------------------------------
result
 
cal1 : 787673728411
cal2 : 631650372411
 
diff = 156023356000
diff = 1805일19시간49분16초
cs

 


 

  이번 소스는 두 날짜의 차이를 구하는 소스에요. 함수를 바로 이용한 것이 아니고 Calendar.getTimeInMillis()함수를 통해서 millisecond의 값을 받아오고 그 값을 통해서 다시 날짜를 계산한 방법이에요ㅎㅎ java안에 함수로 아예 날짜 차이를 구할 수 있게 구현 되어있으면 좋겠는데 못 찾겠네요 ㅠㅠ 만약 있으면 댓글로 알려주세요 ㅎㅎ


자세한 방법은


  1 . 두  millisecond의 차이를 구한다.

  2 . 초 , 분 , 시간 , 일  순으로 나누기를 통해서 차이를 얻는다.

  3 . 만약 시간을 뺀 남은 분을 구하고 싶다면 (min - hour*60) 처럼 빼기를 이용하여 구한다. 



http://blog.naver.com/asap0628/220720415356

댓글