获取两个日期之间的所有日期

来源:互联网 发布:visual basic与c语言 编辑:程序博客网 时间:2024/04/28 17:14

1.不包含起止日期:

public static List<String> getMonthBetweenDateStr(String minDate, String maxDate) throws ParseException{List<String> listDate = new ArrayList<String>();Calendar startCalendar = Calendar.getInstance();Calendar endCalendar = Calendar.getInstance();SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");Date startDate = df.parse(minDate);startCalendar.setTime(startDate);Date endDate = df.parse(maxDate);endCalendar.setTime(endDate);while(true){startCalendar.add(Calendar.DAY_OF_MONTH, 1);if(startCalendar.getTimeInMillis() < endCalendar.getTimeInMillis()){listDate.add(df.format(startCalendar.getTime()));}else{break;}}return listDate;}

2.包含起止日期:

public static List<Date> getMonthBetweenDate(Date beginDate, Date endDate) {if(beginDate.getTime() == endDate.getTime()){return null;}    List lDate = new ArrayList();    lDate.add(beginDate);//把开始时间加入集合    Calendar cal = Calendar.getInstance();    //使用给定的 Date 设置此 Calendar 的时间    cal.setTime(beginDate);    boolean bContinue = true;    while (bContinue) {        //根据日历的规则,为给定的日历字段添加或减去指定的时间量        cal.add(Calendar.DAY_OF_MONTH, 1);        // 测试此日期是否在指定日期之后        if (endDate.after(cal.getTime())) {            lDate.add(cal.getTime());        } else {            break;        }    }    lDate.add(endDate);//把结束时间加入集合    return lDate;}


0 0
原创粉丝点击