龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php 获得一段时间内所在的所有周的时间

时间:2014-08-21 03:19来源:网络整理 作者:网络 点击:
分享到:
获得一段时间内所在的所有周的时间 [代码片段(41行)]
<?
    /*  作用由起止日期算出其中的周
     *  @param start_date 开始日期
     *  @param end_date   结束日期
     *  @return 一个二维数组,其中一维为每周起止时间
         *  注意:end_date>state_date
     **/

        function getWeek($startdate,$enddate)
    {
        //参数不能为空
        if(!empty($startdate) && !empty($enddate)){

            //先把两个日期转为时间戳
            $startdate=strtotime($startdate);
            $enddate=strtotime($enddate);
            //开始日期不能大于结束日期
            if($startdate<=$enddate){
                $end_date=strtotime("next monday",$enddate);
                if(date("w",$startdate)==1){
                    $start_date=$startdate;
                }else{
                    $start_date=strtotime("last monday",$startdate);
                }
                //计算时间差多少周
                $countweek=($end_date-$start_date)/(7*24*3600);
                for($i=0;$i<$countweek;$i++){
                    $sd=date("Y-m-d",$start_date);
                    $ed=strtotime("+ 6 days",$start_date);
                    $eed=date("Y-m-d",$ed);
                    $arr[]=array($sd,$eed);
                    $start_date=strtotime("+ 1 day",$ed);
                }
                return $arr;    
            }
        }
    }

    @var_dump(getWeek( "2012-08-04","2013-08-08")) ;
?>
//该片段来自于http://outofmemory.cn
精彩图集

赞助商链接