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

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

时间:2014-07-22 14:49来源: 作者: 点击:
分享到:
项目需要,需要分周浏览数据,自己写的一个函数
项目需要,需要分周浏览数据,自己写的一个函数
<?
	/*  作用由起止日期算出其中的周
	 *  @param start_date 开始日期
	 *  @param end_date   结束日期
	 *  @return 一个二维数组,其中一维为每周起止时间
	 *  @author anngly
         *  @date 2013-06-08
         *  注意: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")) ;
?>
精彩图集

赞助商链接