/**
* 根据日期 判断当月第几周
* 从周日周一周二开始计算都可以
* @param str
* @return
* @throws Exception
*/
public static int getWeekNum(String str){
int weekOfMonth = 0;
int dayweek = 1;//设置周1开始算
try {
//获取本周起始2个日期
List<String> week = getWeekOfBeginAndEnd(str);
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
Date date =sdf.parse(week.get(0));
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
//本周起始加1
calendar.add(Calendar.DAY_OF_MONTH, dayweek);
int DAY_OF_WEEK = calendar.get(Calendar.DAY_OF_WEEK);
int DAY_OF_MONTH = calendar.get(Calendar.DAY_OF_MONTH);
int oldmomth = calendar.getTime().getMonth();
int newmonth = calendar.get(Calendar.MONTH);
if(newmonth==oldmomth){
weekOfMonth = ((DAY_OF_MONTH-DAY_OF_WEEK+dayweek)/7)+1;
}else{
weekOfMonth= getWeekNum(week.get(0));
}
} catch (Exception e) {
e.printStackTrace();
}
return weekOfMonth;
}
java日期判断当月第几周,
最新推荐文章于 2024-04-15 10:03:51 发布