欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

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

程序员文章站 2022-05-17 12:28:53
...
php代码
<?
	/*  作用由起止日期算出其中的周
	 *  @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")) ;
?>