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 }