전 그때 엔, 지정된 날짜 범위 사이의 날짜 목록을 만들고 싶어 범위를 얻으려면 : FROMDATE - 15/10/2013 및 TODATE을 - (15)/2,013
/12 지금 목록되어야
[15/10/2013, 31/10/2013, 2013년 1월 1일, 30/11/2013, 2013년 1월 12일 15/12/2013]
이 코드를 작성했습니다.
private List<Date> datesList = new ArrayList<Date>();
public void findLastDate(){
Date lastDateOfMonth;
Date firstDateOfNextMonth = null;
datesList.add(fromDate);
do {
Calendar calendar = Calendar.getInstance();
if(firstDateOfNextMonth == null){
calendar.setTime(fromDate);
} else {
calendar.setTime(firstDateOfNextMonth);
}
calendar.add(Calendar.MONTH, 1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.add(Calendar.DATE, -1);
lastDateOfMonth = calendar.getTime();
datesList.add(lastDateOfMonth);
Calendar calendar2 = Calendar.getInstance();
calendar2.setTime(lastDateOfMonth);
calendar2.add(Calendar.MONTH, 1);
calendar2.set(Calendar.DAY_OF_MONTH, 1);
calendar2.add(Calendar.DATE, 0);
firstDateOfNextMonth = calendar2.getTime();
datesList.add(firstDateOfNextMonth);
} while(firstDateOfNextMonth.compareTo(toDate) < 0);
datesList.add(toDate);
System.out.println("List of dates " + datesList);
}
하지만 난
[15/10/2013, 31/10/2013, 2013년 1월 1일, 30/11/2013, 2013년 1월 12일으로 목록을 얻고있다 2012 년 1 월 1 일, 2013 년 1 월 1 일, 2014 년 1 월 1 일, 15/12/2013]
2012 년 1 월 12 일 3014 년 1 월 1 일이 목록에 없어야하므로 while 루프 내가 PLZ 도움이 점점 안해 ...