xinguan1267 2008-06-19 20:50
浏览 150
已采纳

如何求两个日期之间的每一天

如何求任意两个时间段之间的每一天呢。如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]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?