반응형
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 |