zoukankan      html  css  js  c++  java
  • java获取本周 上周的所有日期

    1 根据当前日期获得所在周的日期区间(周一和周日日期)

        public String getTimeInterval(Date date) {  
             Calendar cal = Calendar.getInstance();  
             cal.setTime(date);  
             // 判断要计算的日期是否是周日,如果是则减一天计算周六的,否则会出问题,计算到下一周去了  
             int dayWeek = cal.get(Calendar.DAY_OF_WEEK);// 获得当前日期是一个星期的第几天  
             if (1 == dayWeek) {  
                cal.add(Calendar.DAY_OF_MONTH, -1);  
             }  
             // System.out.println("要计算日期为:" + sdf.format(cal.getTime())); // 输出要计算日期  
             // 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一  
             cal.setFirstDayOfWeek(Calendar.MONDAY);  
             // 获得当前日期是一个星期的第几天  
             int day = cal.get(Calendar.DAY_OF_WEEK);  
             // 根据日历的规则,给当前日期减去星期几与一个星期第一天的差值  
             cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);  
             String imptimeBegin = sdf.format(cal.getTime());  
             // System.out.println("所在周星期一的日期:" + imptimeBegin);  
             cal.add(Calendar.DATE, 6);  
             String imptimeEnd = sdf.format(cal.getTime());  
             // System.out.println("所在周星期日的日期:" + imptimeEnd);  
             return imptimeBegin + "," + imptimeEnd;  
        }

    2 根据当前日期获得上周的日期区间(上周周一和周日日期)

        public String getLastTimeInterval() {  
             Calendar calendar1 = Calendar.getInstance();  
             Calendar calendar2 = Calendar.getInstance();  
             int dayOfWeek = calendar1.get(Calendar.DAY_OF_WEEK) - 1;  
             int offset1 = 1 - dayOfWeek;  
             int offset2 = 7 - dayOfWeek;  
             calendar1.add(Calendar.DATE, offset1 - 7);  
             calendar2.add(Calendar.DATE, offset2 - 7);  
             // System.out.println(sdf.format(calendar1.getTime()));// last Monday  
             String lastBeginDate = sdf.format(calendar1.getTime());  
             // System.out.println(sdf.format(calendar2.getTime()));// last Sunday  
             String lastEndDate = sdf.format(calendar2.getTime());  
             return lastBeginDate + "," + lastEndDate;  
        }

    3  获取一周开始到结束的list集合

         public static List<Date> findDates(Date dBegin, Date dEnd)  
         {  
          List lDate = new ArrayList();  
          lDate.add(dBegin);  
          Calendar calBegin = Calendar.getInstance();  
          // 使用给定的 Date 设置此 Calendar 的时间  
          calBegin.setTime(dBegin);  
          Calendar calEnd = Calendar.getInstance();  
          // 使用给定的 Date 设置此 Calendar 的时间  
          calEnd.setTime(dEnd);  
          // 测试此日期是否在指定日期之后  
          while (dEnd.after(calBegin.getTime()))  
          {  
           // 根据日历的规则,为给定的日历字段添加或减去指定的时间量  
           calBegin.add(Calendar.DAY_OF_MONTH, 1);  
           lDate.add(calBegin.getTime());  
          }  
          return lDate;  
         }

    4 测试

     public class Text{ 
    public statis void main(string args[]){
    String yz_time=getTimeInterval(new Date());//获取本周时间 String array[]=yz_time.split(","); String start_time=array[0];//本周第一天 String end_time=array[1]; //本周最后一天
    //格式化日期 SimpleDateFormat sdf
    = new SimpleDateFormat("yyyy-MM-dd"); Date dBegin = sdf.parse(start_time); Date dEnd = sdf.parse(end_time); List<Date> lDate = findDates(dBegin, dEnd);//获取这周所有date for (Date date : lDate) { System.out.println(sdf.format(date)); } }
    }
  • 相关阅读:
    微信小程序音乐播放控制API在真机上貌似不可用?
    微信小程序request合法域名怎么配置啊
    微信小程序的路径是怎么计算的?
    微信小程序微信录音的silk格式文件怎么转MP3
    微信小程序全国巡回沙龙厦门站-尚琳凯演讲详细内容实录
    微信小程序全国巡回沙龙厦门站-A闪演讲详细内容实录
    微信小程序开发指南合集 各类组件用法技巧
    微信小程序常见问题及新手跳坑指南 每日更新 欢迎补充
    微信小程序沙龙回顾 附演讲实录及ppt
    laravel中的form表单提交
  • 原文地址:https://www.cnblogs.com/xzjf/p/7600676.html
Copyright © 2011-2022 走看看