如题,PHP如何计算出某个时间段内有多少个星期一?

解决方案 »

  1.   

    date()w 星期中的第几天,数字表示 0(表示星期天)到 6(表示星期六) 
    W ISO-8601 格式年份中的第几周,每周从星期一开始(PHP 4.1.0 新加的) 例如:42(当年的第 42 周) 计算前后W的差值,再计算超出部分(对7求余数)是否有星期一
      

  2.   

    $tmp = $d1 = strtotime('2011-01-01');
    $d2 = strtotime('2011-04-24');
    $counter = 0;
    while($tmp <= $d2) {
       if (date('w',$tmp) == 1) $counter ++;
       $tmp += 24 * 60 * 60;
    }
    echo date('Y-m-d',$d1).'-'.date('Y-m-d',$d2)."期间共有{$counter}个星期一\n";
      

  3.   


    呵呵$counter = date('W',$d2)-date('W',$d1);不过跨年还是要用累加……