date_default_timezone_set('PRC');
//判斷是否在同一周,原理:求出其中一個時間戳所在周的周一凌晨時間戳和周日24.00時間戳,如果另一個時間戳在這個范圍內,則說明在同一周,否則不在同一周
function getSameWeek($pretime,$aftertime){
$monday = strtotime('last Monday', $pretime); //離當前時間戳$pretime最近的上一個周一的時間戳,如果當前時間$pretime是周一,$monday存儲的仍然是上周一
//判斷如果當前給定時間戳就是周一,那么就返回當前時間戳給$monday
if(date('w', $pretime) == 1){
$monday = $pretime;
}
$sunday = $monday+24*3600*7; //周日時間戳
if($aftertime >= $sunday){
return false;
}
if( $aftertime <= $monday ){
return false;
}
return true;
}
$testWeek_start=strtotime('2019-8-19');
$testWeek_end=strtotime('2019-8-18');
echo getSameWeek($testWeek_start, $testWeek_end) ? '在同一周' : '不在同一周', '<br>';