php怎么获取当前日上周四的时间,求教,谢谢!

解决方案 »

  1.   


    $last_thur = new DateTime(date("Ymd"));
    $last_thur->sub(new DateInterval('P'.abs ( (3+date("N"))).'D'));echo date("Y-m-d",$last_thur->getTimestamp());
      

  2.   

    echo date('Y-m-d', strtotime('Last Thursday'));//2017-08-03
      

  3.   


    function getLastWeekDay($flag=0){
        $dt = new DateTime(date('Y-m-d'));
        $timestamp = $dt->format('U');
        $day = (new DateTime('@'.$timestamp))->format('w');
        if($day>=$flag){
            $date_timestamp = mktime(0,0,0,date('m',$timestamp),date('d',$timestamp)-($day-$flag),date('Y',$timestamp));
        }elseif($day<$flag){
            $date_timestamp = mktime(0,0,0,date('m',$timestamp),date('d',$timestamp)-7+$flag-$day,date('Y',$timestamp));
        }
        return (new DateTime('@'.$date_timestamp))->format('Y-m-d');
    }// 上周日到六的日期
    for($i=0; $i<7; $i++){
        echo getLastWeekDay($i).'<br>';
    }