[JAVA] 날짜 유용한 메서드
/**
* getDiffDays 메서드
* 시작일부터 종료일까지 사이의 날짜를 배열에 담아 리턴
* ( 시작일과 종료일을 모두 포함한다 )
* @param fromDate yyyyMMdd 형식의 시작일
* @param toDate yyyyMMdd 형식의 종료일
* @return yyyyMMdd 형식의 날짜가 담긴 배열
*/
public static String[] getDiffDays(String fromDate, String toDate) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
Calendar cal = Calendar.getInstance();
try {
cal.setTime(sdf.parse(fromDate));
} catch (Exception e) {}
int count = getDiffDayCount(fromDate, toDate);
// 시작일부터
cal.add(Calendar.DATE, -1);
// 데이터 저장
List list = new ArrayList();
for (int i = 0; i <= count; i++) {
cal.add(Calendar.DATE, 1);
list.add(sdf.format(cal.getTime()));
}
String[] result = new String[list.size()];
list.toArray(result);
return result;
}
/**
* getDiffDayCount 메서드
* 두날짜 사이의 일수를 리턴
* @param fromDate yyyyMMdd 형식의 시작일
* @param toDate yyyyMMdd 형식의 종료일
* @return 두날짜 사이의 일수
*/
public static int getDiffDayCount(String fromDate, String toDate) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
try {
return (int)((sdf.parse(toDate).getTime() - sdf.parse(fromDate)
.getTime()) / 1000 / 60 / 60 / 24);
} catch (Exception e) {
return 0;
}
}