例如:2012-02-04到2012-05-06间隔多少周,周一为一周的起始
跨年也可以支持如2011-12-04到2012-05-06间隔多少周

解决方案 »

  1.   


    function computeWeek($date1,$date2){
    $diff = strtotime($date2) - strtotime($date1);
    $res = ceil($diff/(24*60*60*7));
    return $res;
    }
    echo computeWeek("2011-06-06","2012-06-06")."<br>"; #53
    echo computeWeek("2012-06-01","2012-06-07")."<br>"; #1
      

  2.   


    function computeWeek($date1,$date2){
    $diff = strtotime($date2) - strtotime($date1);
    $week = floor($diff/(24*60*60*7));
    $day = $diff%(24*60*60*7)/(24*60*60);
    $res = $week."周又".$day."天";
    return $res;
    }
    echo computeWeek("2011-06-06","2012-06-06")."<br>"; #52周又2天
    echo computeWeek("2012-06-01","2012-06-09")."<br>"; #1周又1天
      

  3.   


    function computeWeek($date1,$date2){
    $diff = abs(strtotime($date2) - strtotime($date1)); #取差集的绝对值
    $week = floor($diff/(24*60*60*7)); #获取多少周
    $day = ($diff%(24*60*60*7))/(24*60*60); #除周数以外的天数
    $res = $week."周又".($day+1)."天";
    return $res;
    }
    echo computeWeek("2011-06-06","2012-06-06")."<br>"; #52周又3天
    echo computeWeek("2012-06-09","2012-06-01")."<br>"; #1周又2天