IT기술, 프로그래밍/Java

Java 일, 월, 년 차이 계산 방법

뱅노 2019. 6. 29. 23:50

가끔 개발을 하다보면 날짜의 일, 월, 년 차이를 계산 해야 할 때가 필요하다.

 

사실 어려운 것은 아니지만 막상 만들려고 하면 귀찮다.

 

여기 하나 sample 소스를 올려 놓겠다.

 

필요할 때 복사해서 사용하면 될 것 같다.

 

import java.text.SimpleDateFormat;
import java.util.Date;

public class TestFollowMonth {

	public static void main(String[] args) {
		
		SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
		
		String toDateStr = "20190329";
		String fromDateStr = "20200329";
		
		try {
			Date toDate = format.parse(toDateStr);
			Date fromDate = format.parse(fromDateStr);
			
			long baseDay = 24 * 60 * 60 * 1000; 	// 일
			long baseMonth = baseDay * 30;		// 월
			long baseYear = baseMonth * 12;		// 년
			
			// from 일자와 to 일자의 시간 차이를 계산한다.
			long calDate = fromDate.getTime() - toDate.getTime();
			
			// from 일자와 to 일자의 시간 차 값을 하루기준으로 나눠 준다.
			long diffDate = calDate / baseDay;
			long diffMonth = calDate / baseMonth;
			long diffYear = calDate / baseYear;
			
			System.out.println("diffDate : " + diffDate + "일");
			System.out.println("diffMonth : " + diffMonth + "월");
			System.out.println("diffYear : " + diffYear + "년");
			
		} catch (Exception e) {
			// TODO: handle exception
		}
	}
}