/**
* 取得两个时间点之间的所有日期
* @param startDate
* @param endDate
* @param format 日期格式:默认格式:yyyy-MM-dd
* @return
*/
private static String printDay(Calendar startDay, Calendar endDay ,SimpleDateFormat format) {
// 给出的日期开始日比终了日大则不执行打印
StringBuffer temp = new StringBuffer();
if(format == null ){
format = FORMATTER;
}
if (startDay.equals(endDay) || startDay.after(endDay)) {
return format.format(startDay.getTime());
}
// 现在打印中的日期
Calendar currentPrintDay = startDay;
temp.append(format.format(currentPrintDay.getTime())).append(",");//加上开始日期
while (true) {
// 日期加一
currentPrintDay.add(Calendar.DATE, 1);
// 日期加一后判断是否达到终了日,达到则终止打印
if (currentPrintDay.after(endDay)) {
break;
}
// 打印日期
//System.out.println(FORMATTER.format(currentPrintDay.getTime()));
temp.append(format.format(currentPrintDay.getTime())).append(",");
}
return temp.substring(0, temp.length()-1);
}
/**
* 取得两个时间点之间的所有日期
* @param startDate 开始日期
* @param endDate 结束日期
* @param format 日期格式:默认格式:yyyy-MM-dd
* @return
*/
public static List printDay2List(Calendar startDay, Calendar endDay ,SimpleDateFormat format) {
List list = new ArrayList();
String temp = printDay(startDay, endDay ,format);
String[] str = temp.split(",");
if(str != null && str.length > 0){
for(int i= 0;i <str.length ;i++){
list.add(str[i]);
}
}
return list;
}
/**
* 取得两个时间点之间的所有日期
* @param startDay 开始日期
* @param endDay 结束日期
* @param format 日期格式:默认格式:yyyy-MM-dd
* @return
*/
public static List printDay2List(Calendar startDay, Calendar endDay ,String format){
if(StringUtils.isEmpty(format)){
format = "yyyy-MM-dd";
}
return printDay2List(startDay, endDay, new SimpleDateFormat(format));
}
/**
* 取得两个时间点之间的所有日期
* @param startDay 开始日期
* @param endDay 结束日期
* @param format 日期格式:默认格式:yyyy-MM-dd
* @return
*/
public static List printDay2List(Date startDay, Date endDay ,String format){
if(StringUtils.isEmpty(format)){
format = "yyyy-MM-dd";
}
Calendar start = Calendar.getInstance();
start.setTime(startDay);
Calendar end = Calendar.getInstance();
end.setTime(endDay);
return printDay2List(start, end, new SimpleDateFormat(format));
}