반응형
java의 Calendar 를 이용하여 시작 날짜와 종료날짜 사이의 날짜들을 가져오기
Oracle의 connect by 를 이용해도 되는데 이번에는 java를 이용해 봤다.
코드는 아래와 같다.
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Calendar;
public class DuringDateTest {
public static void main(String[] args) {
String startDt = "20151031";
int endDt = 20151103;
int startYear = Integer.parseInt(startDt.substring(0,4));
int startMonth= Integer.parseInt(startDt.substring(4,6));
int startDate = Integer.parseInt(startDt.substring(6,8));
Calendar cal = Calendar.getInstance();
// Calendar의 Month는 0부터 시작하므로 -1 해준다.
// Calendar의 기본 날짜를 startDt로 셋팅해준다.
cal.set(startYear, startMonth -1, startDate);
while(true) {
// 날짜 출력
System.out.println(getDateByString(cal.getTime()));
// Calendar의 날짜를 하루씩 증가한다.
cal.add(Calendar.DATE, 1); // one day increment
// 현재 날짜가 종료일자보다 크면 종료
if(getDateByInteger(cal.getTime()) > endDt) break;
}
System.out.println("bye!!");
}
public static int getDateByInteger(Date date) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
return Integer.parseInt(sdf.format(date));
}
public static String getDateByString(Date date) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(date);
}
}
결과는 아래와 같다.
반응형
'컴퓨터관련' 카테고리의 다른 글
| Linux - 디렉토리만 출력 or 디렉토리 제외하고 출력 (0) | 2016.01.20 |
|---|---|
| Linux - 필요한 화일만 골라서 복사하기 (0) | 2016.01.20 |
| Python - 문자열 정해진 규칙대로 parsing 하기 (0) | 2016.01.20 |
| Python - import가 안될때 확인해야할 사항 (0) | 2016.01.20 |
| Eclipse jsp, js 파일 때문에 버벅거리고 느려질때 해결방법 (0) | 2016.01.20 |