根据开始日期和当前日期,获取当前是第几周
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 }