有时候我们会遇到一些业务场景,需要去获取一段时间内的每一天日期,这里是一个简单的实现方式。
public static List<Date> findDates(Date dBegin, Date dEnd) { List lDate = new ArrayList(); lDate.add(dBegin); Calendar calBegin = Calendar.getInstance(); // 使用给定的 Date 设置此 Calendar 的时间 calBegin.setTime(dBegin); Calendar calEnd = Calendar.getInstance(); // 使用给定的 Date 设置此 Calendar 的时间 calEnd.setTime(dEnd); // 测试此日期是否在指定日期之后 while (dEnd.after(calBegin.getTime())) { // 根据日历的规则,为给定的日历字段添加或减去指定的时间量 calBegin.add(Calendar.DAY_OF_MONTH, 1); lDate.add(calBegin.getTime()); } return lDate;} SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Date begin = sdf.parse(request.getParameter("mbegin"));Date end = sdf.parse(request.getParameter("mend"));
//使用List<Date> lDate = findDates(begin, end);