1. 程式人生 > >PHP 怎麼判斷兩個時間戳是不是在同一周?

PHP 怎麼判斷兩個時間戳是不是在同一周?

假設 :  一星期開始是週一凌晨00:00 結束週日晚上00:00

解法1:  取其中一個時間,算出這個時間的週一和週日,然後跟另外一個時間對比,符合條件就算。(自己的思路)

<?php
header('Content-Type:text/html;charset=utf-8');
date_default_timezone_set('PRC');
 
    //第一個時間戳
    $one=1526978939;
    //第二個時間戳
    $two=1526978945;
 
    var_dump(run($one,$two));
  
    function run($one,$two){
        //拿第一個時間戳,計算週一和週日
 
        //週一
        $monday = strtotime('last Monday',$one);
        //週日
        $sunday = $monday+24*3600*7;
 
        //判斷
        if($two>$sunday){
            return false;
        }
 
        if($two<=$monday){
            return false;
        }
        return true;
    }

解法二: 

用date函式可以確定當前時間戳是第幾周,然後比較兩個時間戳的數值。 (網友的思路

    //第一個時間戳
    $one=1526978939;
    //第二個時間戳
    $two=1526978945;
	
    $a=date('W',$one);
    $b=date('W',$two);
	
    //判斷即可。