/**
* <pre>
* 判斷date和當前日期是否在同一周內
* 注:
* Calendar類提供了一個獲取日期在所屬年份中是第幾周的方法,對於上一年末的某一天
* 和新年初的某一天在同一周內也一樣可以處理,例如2012-12-31和2013-01-01雖然在
* 不同的年份中,但是使用此方法依然判斷二者屬於同一周內
* </pre>
*
* @param date
* @return
*/
public static boolean isSameWeekWithToday(Date date) {
if (date == null) {
return false;
}
// 0.先把Date類型的對象轉換Calendar類型的對象
Calendar todayCal = Calendar.getInstance();
Calendar dateCal = Calendar.getInstance();
todayCal.setTime(new Date());
dateCal.setTime(date);
// 1.比較當前日期在年份中的周數是否相同
if (todayCal.get(Calendar.WEEK_OF_YEAR) == dateCal.get(Calendar.WEEK_OF_YEAR)) {
return true;
} else {
return false;
}
}
如果前一年的某一天和下一年的某一天在同一周內,依然可以判斷的出。周日和周六肯定不在同一周內,就是說一周的開始是周日,結束是周六