具体思路:获取到两个日期的毫秒值,在除以每天的毫秒值,得到相差的天数,然后循环输出两个日期区间的每一天的日期!!
代码:
@Test
public void demo() throws ParseException {
//首先要获取到Calendar类,该类有对应的添加日期的方法!!
Calendar calendar = Calendar.getInstance();
//设置开始和结束日期
String startDay = "2020-08-27";
String endDay = "2020-09-05";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//转换Date类型
Date startDayDate = sdf.parse(startDay);
Date endDayDate = sdf.parse(endDay);
//获取日期的毫秒值除以每天的毫秒值
long betweenDays = (endDayDate.getTime() / (24 * 60 * 60 * 1000)) - (startDayDate.getTime() / (24 * 60 * 60 * 1000));
System.out.println("相差的天数:"+betweenDays);
//然后把相差的天数set到calendar类中,这样就改变日期了
calendar.setTime(startDayDate);
for (long i = 0; i < betweenDays; i++) {
// 两个参数,第一个是要添加的日期(年月日),第二个是要添加多少天!!!
calendar.add(Calendar.DATE, 1); //加一天
//calendar.add(Calendar.MONTH, 1); // 加一月
//calendar.add(Calendar.YEAR,1); // 加一年
System.out.println("日期:"+sdf.format(calendar.getTime()));
}
}
输出: