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 try14 {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 }