zoukankan      html  css  js  c++  java
  • 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;
      }
  • 相关阅读:
    ACM-ICPC 2018 徐州赛区网络预赛 F Features Track(STL模拟)
    ACM-ICPC 2018 徐州赛区网络预赛 H Ryuji doesn't want to study (树状数组差分)
    数位dp
    Number String
    The King’s Ups and Downs
    容斥定理
    Anagram(山东省2018年ACM浪潮杯省赛)
    STL——queue
    lower_bound和upper_bound使用说明
    int string相互转换
  • 原文地址:https://www.cnblogs.com/pxblog/p/13202981.html
Copyright © 2011-2022 走看看