목차
Java 두 날짜의 월 수 차이를 찾습니다.
Java에서 두 가지날짜의 월 수 차이를 요구하는 샘플 프로그램을 소개합니다.
샘플 프로그램에서는 비교 대상의 일자가, 캐릭터 라인 ( yyyy/MM/dd )의 경우, java.util.Date 의 경우에 대응하고 있습니다.
월수 차이를 구하는 계산 방법은 다음과 같습니다.
- 먼저 두 날짜를 하루로 만듭니다.
※ Calendar.set(Calendar.DATE, 1) 을 이용합니다. - 그런 다음 두 날짜를 한 달 단위로 반복 비교합니다.
※ Calendar.add(Calendar.MONTH, 1 또는 -1) 를 이용해, 1개월씩 월수를 가산·감산해 갑니다. - 반복 비교한 횟수를 카운트합니다.
샘플 소스
실행
◆실행예
public static void main(String[] args) { int ret = differenceMonth("2008/6/30","2008/6/1"); System.out.println("결과 1 = "+ret); ret = differenceMonth("2008/7/1","2008/6/3"); System.out.println("결과 2 = "+ret); ret = differenceMonth("2008/12/20","2008/6 /1"); System.out.println("결과 3 = "+ret); ret = differenceMonth("2010/6/20","2008/6/1"); System.out.println("결과 4 = "+ret); ret = differenceMonth("2008/6/1","2008/7/1"); System.out.println("결과 5 = "+ret); ret = differenceMonth("2008/7 /1","2009/7/1"); System.out.println("결과 6 = "+ret); }
◆실행 결과
결과 1 = 0 결과 2 = 1 결과 3 = 6 결과 4 = 24 결과 5 = -1 결과 6 = -12
이 샘플 프로그램은 Chat & Messenger의 "캘린더 일정 관리 기능"에서 실제로 사용하고 있습니다.