-
[java] 두 날짜간 월 차이 구하기프로그래밍 언어/자바 & 코틀린 2018. 12. 10. 22:54
두 날짜간 월 차이 구하기 두 날짜간의 월 차이 구하기
자동으로 월차를 생성해주는 스케줄러를 구현 중이다. 두 날짜간의 월 차이를 알아내는 함수를 구현해야 했다. 예를 들어, 2018년 12월 1일에 스프링 스케줄러가 실행되면 2018년 7월 16일에 입사한 사람은 8월 1일부터 월차가 발생한다고 가정했을 때, 8월, 9월, 10월, 11월, 12월까지 총 5개의 월차가 발생해야 한다.
그래서 일(day)은 상관없이 월끼리만 계산해주면 된다. 아래는 구현한 함수다. 참 쉽죠잉? ㅎ
/** * 두 날짜간의 월 차이 구하기 * */ private int getMonthsDifference(Date date1, Date date2){ /* 해당년도에 12를 곱해서 총 개월수를 구하고 해당 월을 더 한다. */ int month1 = date1.getYear() * 12 + date1.getMonth(); int month2 = date2.getYear() * 12 + date2.getMonth(); return month2 - month1; } /** 테스트 */ public static void main(String[] args){ DateUtil dateUtil = new DateUtil(); SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); try{ /** 2018년 9월 1일과 2018년 12월 5일의 차를 구하면 * 결과는 3이 나온다. */ Date date1 = format.parse("20180901"); Date date2 = format.parse("20181205");
System.out.println("두 날짜간 월 차이 :" +dateUtil.getMonthsDifference(date1, date2)); }catch (ParseException e){ System.out.println(e); } } /** 결과값 : 3 */
'프로그래밍 언어 > 자바 & 코틀린' 카테고리의 다른 글
[Java] 터미널(terminal)로 war 파일 만들고 푸는 법 (0) 2019.03.17 [Java] java 파일을 class 파일로 컴파일 하는 방법(한글 인코딩 포함) (0) 2019.01.30 [java] 유효한 날짜인지 체크하는 방법(Validation Date) (0) 2018.11.28 [java]DTO(또는 VO)에서 객체의 default 값 만들어주는 방법(Constructor of DTO) (0) 2018.11.20 DTO(혹은 VO)를 상속 받아서 사용할 경우 주의할 점! (0) 2018.09.18