获取两个时间中的所有时间集合

/**
     * 获取两个日期之间的所有日期
     *
     * @param startTime 开始日期
     * @param endTime   结束日期
     * @return
     */
    public static Map getDayBetween(String startTime, String endTime) {
        // 返回的日期集合
        Map dayMap = new LinkedHashMap();

        // 日期格式化
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        try {
            // 开始日期
            Date start = dateFormat.parse(startTime);

            // 结束日期
            Date end = dateFormat.parse(endTime);

            Calendar tempStart = Calendar.getInstance();
            tempStart.setTime(start);

            Calendar tempEnd = Calendar.getInstance();
            tempEnd.setTime(end);
            // 日期加1(包含结束)
            tempEnd.add(Calendar.DATE, +1);
            while (tempStart.before(tempEnd)) {
                dayMap.put(dateFormat.format(tempStart.getTime()), "");
                tempStart.add(Calendar.DAY_OF_YEAR, 1);
            }

        } catch (ParseException e) {
            e.printStackTrace();
        }

        return dayMap;
    }

/**
     * 获取两个日期之间的所有月份
     *
     * @param startTime 开始日期
     * @param endTime   结束日期
     * @return
     */
    public static Map getMonthBetween(String startTime, String endTime) {
        // 返回的日期集合
        Map dayMap = new LinkedHashMap();

        // 日期格式化
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM");
        try {
            // 开始日期
            Date start = dateFormat.parse(startTime);

            // 结束日期
            Date end = dateFormat.parse(endTime);

            Calendar tempStart = Calendar.getInstance();
            tempStart.setTime(start);

            Calendar tempEnd = Calendar.getInstance();
            tempEnd.setTime(end);
            // 日期加1(包含结束)
            tempEnd.add(Calendar.MONTH, +1);
            while (tempStart.before(tempEnd)) {
                dayMap.put(dateFormat.format(tempStart.getTime()), "");
                tempStart.add(Calendar.MONTH, 1);
            }

        } catch (ParseException e) {
            e.printStackTrace();
        }

        return dayMap;
    }

    public static void main(String[] args) {
        Map dayBetween = getDayBetween("2021-01-01", "2021-01-10");

        for (Object key : dayBetween.keySet()) {
            System.out.println("day= " + key);
        }
    }
输出结果:
day= 2021-01-01
day= 2021-01-02
day= 2021-01-03
day= 2021-01-04
day= 2021-01-05
day= 2021-01-06
day= 2021-01-07
day= 2021-01-08
day= 2021-01-09
day= 2021-01-10
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容