说明
根据开始日期和结束日期打印出中间的日期,包含开始日期和结束日期,我这里记录下这个方法,留着以后需要的时候再用。
代码
@PostMapping(value = {"/haha"})
public Object haha(){
Map<String, Object> returnMap = new HashMap<String, Object>();
try {
//调用该方法getIntermediateDate(),给它传个String类型的日期
returnMap.put("result",getIntermediateDate("2020-12-30","2021-01-30"));
returnMap.put("message","success");
returnMap.put("status","200");
}catch (Exception e){
e.printStackTrace();
}
return returnMap;
}
//获取两个日期(yyyy-MM-dd)中间的日期集合,包含开始日期和结束日期
public List<String> getIntermediateDate(String startDate,String endDate){
List<String> days=new ArrayList<String>();
Calendar startTime=Calendar.getInstance();
Calendar endTime=Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
//将开始日期设置给calendar
startTime.setTime(sdf.parse(startDate));
System.out.println("开始日期="+sdf.format(startTime.getTime()));
startTime.add(Calendar.DATE,-1);//日期减1,包含开始日期
//将结束日期设置给calendar
endTime.setTime(sdf.parse(endDate));
System.out.println("结束日期="+sdf.format(endTime.getTime()));
while (startTime.before(endTime)){
startTime.add(Calendar.DAY_OF_MONTH,1);
days.add(sdf.format(startTime.getTime()));
}
System.out.println("days="+days.toString());
}catch (Exception e){
e.printStackTrace();
}
return days;
}
postman调用该方法后,返回如下:
后台日期打印如下: