1.方法
/**
* 获取上(下)周周几的日期
* 值范围 {'SUNDAY': '星期日','MONDAY':'星期一','TUESDAY':'星期二','WEDNESDAY':'星期三','THURSDAY':'星期四','FRIDAY':'星期五','SATURDAY':'星期六'}
* @param weekOffset 周偏移,上周为-1,本周为0,下周为1,以此类推
*/
public static Date getDayOfWeek(int dayOfWeek, int weekOffset){
Calendar date = Calendar.getInstance(Locale.CHINA);
//周数减一,即上周
date.add(Calendar.WEEK_OF_MONTH,weekOffset);
//日子设为周几
date.set(Calendar.DAY_OF_WEEK, dayOfWeek);
//时分秒全部置0
date.set(Calendar.HOUR_OF_DAY, 0);
date.set(Calendar.MINUTE, 0);
date.set(Calendar.SECOND, 0);
date.set(Calendar.MILLISECOND, 0);
return date.getTime();
}
2.测试
@Test
public void getDayOfWeekTest(){
Date dayOfWeek = DateUtil.getDayOfWeek(Calendar.SATURDAY, -1);
log.info("响应: "+dayOfWeek);
}