Java获取一个时间段内的时间天数集合

这里将时间天数的集合存入一个TreeSet集合中,这样可以保证天数数据的唯一性,不会产生重复天数的数据。

public static void main(String[] args){
     
        try {
     
            Set timeSet = getDateSet("2020-07-20", "2020-07-29");
            System.out.println(timeSet.toString());
        } catch (ParseException e) {
     
            e.printStackTrace();
        }
    }

    /**
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @return
     */
    public static Set getDateSet(String startTime, String endTime) throws ParseException {
     
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date start = sdf.parse(startTime);
        Date end = sdf.parse(endTime);

        // 将时间转换成时间戳
        Long startTimestamp = sdf.parse(startTime).getTime();
        Long endTimestamp = sdf.parse(endTime).getTime();

        Set timeSet = new TreeSet();
        //定义一个一天的时间戳时长
        Long oneDay = 1000 * 60 * 60 * 24L;
        Long time = startTimestamp;
        //循环得出
        while (time <= endTimestamp) {
     
            timeSet.add(new SimpleDateFormat("yyyy-MM-dd").format(new Date(time)));
            time += oneDay;
        }
        return timeSet;
    }

结果如下:
在这里插入图片描述

你可能感兴趣的:(Java,java)