比如说想得到 2021-05-21 2021-06-07 中间的日期是
2021-05-21 2021-05-22 … 2021-06-06 2021-06-07
private List<String> getBetweenDates(String start, String end) {
List<String> result = new ArrayList<String>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
Date d1 = sdf.parse(start);
Date d2 = sdf.parse(end);
Calendar c = Calendar.getInstance();
c.setTime(d1);
result.add(sdf.format(c.getTime()));
do{
//日期加1
c.add(Calendar.DATE, 1);
result.add(sdf.format(c.getTime()));
}
//直到和第二个日期相等,跳出循环
while(!c.getTime().equals(d2));
} catch (ParseException e) {
e.printStackTrace();
}
return result;
}
循环外 + result.add(sdf.format(c.getTime()));
表明,第一天也算在内。