JAVA獲取當前日期所在的周一到周日的所有日期集合


 

 

/**
     * 獲取當前日期所在的周一到周日的所有日期集合
     * @return
     */
    public static List<Date> getWeekDateList() {
        Calendar cal = Calendar.getInstance();
        // 設置一個星期的第一天,按中國的習慣一個星期的第一天是星期一
        cal.setFirstDayOfWeek(Calendar.MONDAY);
        // 獲得當前日期是一個星期的第幾天
        int dayWeek = cal.get(Calendar.DAY_OF_WEEK);
        if(dayWeek==1){
            dayWeek = 8;
        }

        // 根據日歷的規則,給當前日期減去星期幾與一個星期第一天的差值
        cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - dayWeek);
        Date mondayDate = cal.getTime();

        cal.add(Calendar.DATE, 4 +cal.getFirstDayOfWeek());
        Date sundayDate = cal.getTime();

        List lDate = new ArrayList();
        lDate.add(mondayDate);
        Calendar calBegin = Calendar.getInstance();
        // 使用給定的 Date 設置此 Calendar 的時間
        calBegin.setTime(mondayDate);
        Calendar calEnd = Calendar.getInstance();
        // 使用給定的 Date 設置此 Calendar 的時間
        calEnd.setTime(sundayDate);
         //測試此日期是否在指定日期之后
        while (sundayDate.after(calBegin.getTime())) {
            // 根據日歷的規則,為給定的日歷字段添加或減去指定的時間量
            calBegin.add(Calendar.DAY_OF_MONTH, 1);
            lDate.add(calBegin.getTime());
        }
        return lDate;
  }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM