给定开始时间结束时间补全区间日期并计算时间差

给定开始时间结束时间补全区间日期并计算时间差
给定一个开始时间和结束时间计算出两个时间之间的所有日期,并计算两个时间只见相差多长时间
直接看代码:

public static List<String> getDate(String startTime,String endTime){
        List<String> date = new ArrayList<>();

        try {
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
            //开始时间
            Date start = new SimpleDateFormat("yyyy-MM-dd").parse(startTime);
            //结束时间
            Date end = new SimpleDateFormat("yyyy-MM-dd").parse(endTime);
            //仅支持查看90天的数据
            long time = (end.getTime() - start.getTime())/(1000 * 60 * 60 * 24) + 1;
            Assert.isTrue(time <= 90,"包含开始时间,结束时间,仅支持查看90天数据,当前查询天数:" + time + "天");
            Calendar calendar = Calendar.getInstance();
            //设置起始时间
            calendar.setTime(start);
            date.add(startTime);
            while (calendar.getTime().before(end)){
            	//时间加一天
                calendar.add(Calendar.DATE,1);
                String format1 = new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime());
                date.add(format1);
            }
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date;
    }

思路很简单:给定一个初始时间,判断初始时间是否小于结束时间,如果小于就依次天数加1,并存入集合中,直至开始时间等于结束时间结束循环,返回集合就好。

以上内容仅供参考,具体要结合自己业务需要调整。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值