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

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

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,并存入集合中,直至开始时间等于结束时间结束循环,返回集合就好。

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

猜你喜欢

转载自blog.csdn.net/weixin_51114236/article/details/128207818