PHP计算一年多少个星期和每周的开始和结束日期

  <?php 

    function weeks_per_year($year) {

        $start strtotime("{$year}-1-1 0:00:00");

        $end strtotime("{$year}-12-31 24:00:00");

        $days = ($end-$start)/60/60/24;

        $w_start date('w'$start);

        if($w_start == 0) $w_start = 7;

        $weeks ceil(($w_start - 1 + $days) / 7.0);

        return $weeks;

    }

    function week_start_end($year) {

        $start strtotime("{$year}-1-1 0:00:00");

        $end strtotime("{$year}-12-31 24:00:00");

        $w_start date('w'$start);

        if($w_start == 0) $w_start = 7;

        $curr $start;

        $curr += (7-$w_start)*24*60*60;

        $weeks array();

        while($curr <= $end) {

            $week array();

            $curr += 1*24*60*60;

            //week start

            $week['start'] = date('n-j'$curr);

            $curr += 6*24*60*60;

            //week end

            $week['end'] = date('n-j'$curr);

            $weeks[] = $week;

        }

        return $weeks;

    }

    echo weeks_per_year(2012);

    $weeks = week_start_end(2015);

    var_dump($weeks);

 ?>

猜你喜欢

转载自my.oschina.net/boheV587/blog/1821330