獲取兩個時間中的所有時間集合

/**
     * 獲取兩個日期之間的所有日期
     *
     * @param startTime 開始日期
     * @param endTime   結(jié)束日期
     * @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);

            // 結(jié)束日期
            Date end = dateFormat.parse(endTime);

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

            Calendar tempEnd = Calendar.getInstance();
            tempEnd.setTime(end);
            // 日期加1(包含結(jié)束)
            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   結(jié)束日期
     * @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);

            // 結(jié)束日期
            Date end = dateFormat.parse(endTime);

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

            Calendar tempEnd = Calendar.getInstance();
            tempEnd.setTime(end);
            // 日期加1(包含結(jié)束)
            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);
        }
    }
輸出結(jié)果:
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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容