有時候我們會遇到一些業務場景,需要去獲取一段時間內的每一天日期
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);
