获取一段时间的列表 如3/29 - 4/19 中间20天的时间 此方法不会出现日期错乱的情况
/**
* 获取一段时间的列表
*/
public static List getPeroidTime () {
List time = new ArrayList<>(); // 返回的集合
int lenght = 20; // 获取天数的长度
int MDAY = 0; // 天数标志
String tday =”“; // 返回时间字符串
SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd”);
Calendar c = Calendar.getInstance(); // 当时的日期和时间
int year = c.get(Calendar.YEAR); // 当前年份
int month = c.get(Calendar.MONTH)+1 ;// 获取当前月份
int day = c.get(Calendar.DAY_OF_MONTH);//当前的天数
int maximum = c.getActualMaximum(Calendar.DAY_OF_MONTH);// 当月最大天数
// 获取20的范围 要判断今天和当月最大天数
for (int i = 0; i < lenght; i++) {
MDAY = day + i;
if (maximum-MDAY>=0){ //当月还有lenght天
c.set(Calendar.DAY_OF_MONTH, MDAY);
tday = df.format(c.getTime());
}else { //当月没有lenght天
c.set(Calendar.YEAR,year);
c.set(Calendar.MONTH,month-1);// 设置月份 防止时间错乱
c.set(Calendar.DAY_OF_MONTH, day+i);
tday = df.format(c.getTime());
}
time.add(tday);
}
return time;
}