如何求任意两个时间段之间的每一天呢。如2008-05-28到2008-06-06之间的2008-05-29,2008-05-30,2008-05-31,2008-06-01,2008-06-02,2008-06-03,2008-06-04,2008-06-05
4条回答 默认 最新
waterdh1 2008-06-20 10:54关注[code="java"]
/**
* 获得日期字符串数组
* @param calendarType 日期跨度的类型,
* */public static Date[] getDateArrays(Date start,Date end ,int calendarType){ ArrayList<Date> ret = new ArrayList<Date>(); Calendar calendar = Calendar.getInstance(); calendar.setTime(start); Date tmpDate = calendar.getTime(); long endTime = end.getTime(); while(tmpDate.before(end)||tmpDate.getTime() == endTime){ ret.add(calendar.getTime()); calendar.add(calendarType, 1); tmpDate = calendar.getTime(); } Date[] dates = new Date[ret.size()]; return ret.toArray(dates); }@Test
public void getDateArrays2(){
Date date = DateUtils.getDate("2008-04-01");
Date date2 = DateUtils.getDate("2008-08-01");
Date[] strArray = DateUtils.getDateArrays(date, date2, Calendar.DAY_OF_YEAR);
for (Date string : strArray) {
System.out.println(DateUtils.getDayStr(string));
}
}
[/code]本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报