欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 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;
    }
}

打印结果:

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

相关标签: Java