获取两个时间段之间相隔的天数
程序员文章站
2022-05-09 15:23:12
...
public class test {
static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
public static void main(String[] args) throws Exception{
//测试数据
String startTime = "2020-02-27";
String endTime = "2020-03-02";
//集合中包含2019-05-01/2019-05-05,不需要可去除
List<String> list = findDates(startTime, endTime);
for(String time : list) {
System.out.println(time);
}
System.out.println("间隔天数:" + list.size());
}
public static List<String> findDates(String startTime, String endTime)throws Exception {
Date dBegin = sdf.parse(startTime);
Date dEnd = sdf.parse(endTime);
List<String> allDate = new ArrayList();
allDate.add(sdf.format(dBegin));
Calendar calBegin = Calendar.getInstance();
// 使用给定的 Date 设置此 Calendar 的时间
calBegin.setTime(dBegin);
Calendar calEnd = Calendar.getInstance();
// 使用给定的 Date 设置此 Calendar 的时间
calEnd.setTime(dEnd);
// 测试此日期是否在指定日期之后
while (dEnd.after(calBegin.getTime())) {
// 根据日历的规则,为给定的日历字段添加或减去指定的时间量
calBegin.add(Calendar.DAY_OF_MONTH, 1);
allDate.add(sdf.format(calBegin.getTime()));
}
return allDate;
}
}
打印结果:
上一篇: MySQL判断两个时间段是否有重合
下一篇: 快速寻找文件:locate命令