根据开始日期和当前日期,获取当前是第几周

 1 /**
 2      * 根据开始日期和当前日期,获取当前是第几周
 3      * @param beginDateStr 开始日期
 4      * @param endDateStr 当前日期
 5      * @return
 6      */
 7     public static long getDaySub(String beginDateStr,String endDateStr)
 8     {
 9         long day=0;
10         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");    
11         java.util.Date beginDate;
12         java.util.Date endDate;
13         try
14         {
15             //先判断学期开始日期是星期几
16             Calendar c = Calendar.getInstance();// 获得一个日历的实例
17             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
18             c.setTime(sdf.parse(beginDateStr));
19             String dayNames[] = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
20             int dayNum[] = {6,0,1,2,3,4,5};//对应的星期几和星期一倒推相差几天
21             //算出的星期几,和星期一差几天就把开始时间多倒推几天
22             c.add(Calendar.DATE, -dayNum[c.get(Calendar.DAY_OF_WEEK)-1]);
23             beginDate=c.getTime();
24             //beginDate = format.parse(beginDateStr);
25             System.out.println(sdf.format(beginDate));
26             endDate= format.parse(endDateStr);    
27             day=(endDate.getTime()-beginDate.getTime())/(24*60*60*1000);    
28             //System.out.println("相隔的天数="+day);   
29         } catch (ParseException e)
30         {
31             // TODO 自动生成 catch 块
32             e.printStackTrace();
33         }  
34         return day/7+1;
35     }
原文地址:https://www.cnblogs.com/againn/p/10031316.html