java Calendar日历对象求上周时间不对,现象:传入的时间是周日,获取上周日的时间返回的仍然是本周时间,用了 cal.add(Calendar.WEEK_OF_YEAR, -1);原因:日历对象一周的第一天是周日,所以获取的时间仍然是本周,周日需要特殊处理,解决方法: // 如果指定时间为周日,则需要特殊处理
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
if (dayOfWeek == Calendar.SUNDAY) {
cal.add(Calendar.WEEK_OF_YEAR, -1);//再减一周
}