获取两个时间段之间相隔的天数

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 list = findDates(startTime, endTime);
        for(String time : list) {
            System.out.println(time);
        }
        System.out.println("间隔天数:" + list.size());
    }

    public static List findDates(String startTime, String endTime)throws Exception {
        Date dBegin = sdf.parse(startTime);
        Date dEnd = sdf.parse(endTime);

        List 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;
    }
}

打印结果:

获取两个时间段之间相隔的天数_第1张图片

你可能感兴趣的:(Java)