public static void main(String[] args) throws Exception { String timeBegin="2020-04-01"; String timeEnd="2020-04-10"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date begin = sdf.parse(timeBegin); Date end = sdf.parse(timeEnd); List<Date> lDate = new ArrayList(); lDate.add(begin); Calendar calBegin = Calendar.getInstance(); // 使用给定的 Date 设置此 Calendar 的时间 calBegin.setTime(begin); Calendar calEnd = Calendar.getInstance(); // 使用给定的 Date 设置此 Calendar 的时间 calEnd.setTime(end); // 测试此日期是否在指定日期之后 while (end.after(calBegin.getTime())) { // 根据日历的规则,为给定的日历字段添加或减去指定的时间量 calBegin.add(Calendar.DAY_OF_MONTH, 1); lDate.add(calBegin.getTime()); } List<String> timeStringList=new ArrayList<>(); for (Date datePes :lDate){ String format = sdf.format(datePes); timeStringList.add(format); } System.out.println(timeStringList.toString()); } }
运行结果: