php换区一段时间内的周数

function numweeka($starttime,$endtime){
	$arr = array('0'=>0,'1'=>0,'2'=>0,'3'=>0,'4'=>0,'5'=>0,'6'=>0);

	if($starttime-$endtime >= 0){
		return '开始时间大于或等于结束时间';
	}else if(date('Y-m-d',$starttime) == date('Y-m-d',$endtime)){
		$arr[date('w',$starttime)] = 1;;
		return $arr;
	}else{
		$n = ($endtime - $starttime)/(24*60*60);
		
		if($n <= 7){
			
			for($i = $starttime;$i<$endtime;$i = $i +(24*60*60)){
				switch(date('w',$i)){
					case 0:
						$arr[0]++;
						break;
					case 1:
						$arr[1]++;
						break;
					case 2:
						$arr[2]++;
						break;
					case 3:
						$arr[3]++;
						break;
					case 4:
						$arr[4]++;
						break;
					case 5:
						$arr[5]++;
						break;
					case 6:
						$arr[6]++;
						break;
				}
			}
			
			return $arr;
			
		}else{
			$num = intval($n/7);
			foreach($arr as $k => $v){
				$arr[$k] = $num;
			}
			
			$a = date('w',$starttime);
			$b = date('w',$endtime);
			if($a != 0){
				for($i =$a;$i<=6;$i++){
					$arr[$i]++;
				}
			}
			
			if($b != 6){
				for($i = 0;$i<=$b;$i++){
					$arr[$i]++;
				}
			}
			
			return $arr;
		}
		
	}
	
}

$starttime = '952041600';
$endtime = '1457827199';

$dataa = numweeka($starttime,$endtime);

猜你喜欢

转载自blog.csdn.net/qq_26875961/article/details/93968525
今日推荐