본문 바로가기
Back-end/JAVA & Spring

[Java]두 날짜 사이의 개월 수 구하기

by 꼬바리 2022. 4. 20.

 

SimpleDateFormat df_Start = new SimpleDateFormat("yyyy-MM");
Date date_start = df_Start.parse(yyyymmStart);
SimpleDateFormat df_end = new SimpleDateFormat("yyyy-MM");
Date date_end = df_end.parse(yyyymmEnd);

long diff = date_end.getTime() - date_start.getTime();
int result = (int) ((diff / 1000) / 60 / 60 / 24 / 30);
int sYear = Integer.parseInt(aa.substring(0, 4));
int sMonth = Integer.parseInt(aa.substring(5, 7));
int eYear = Integer.parseInt(bb.substring(0, 4));
int eMonth = Integer.parseInt(bb.substring(5, 7));

int month_diff = (eYear - sYear) * 12 + (eMonth - sMonth);

두가지 방법이 있으나

 

첫번째 코드의 경우

날짜를 30 으로 나눔으로 28일인 2월이 시작 날일때, 원하는 값을 얻을 수없습니다.

 

두번째 방법을 추천 드립니다.

 

전 결과값 + 1해서 사용하였습니다.

 

728x90
반응형

댓글