PHP获得两个日期之间的月数

时间:2018-05-11 01:21:49 类型:PHP
字号:    

PHP获得两个日期之间的月份, 如: 2018-2-15, 2018-4-15,  得到的结果是3个月 2月,3月,4月

//开始时间
$begin="2013-2-15";
//结束时间
$end="2015-4-16";
//转换成时间戳
//得到中间的整月份 如:2-15, 4-15, 2月,3月,4月
function getMonNums($begin, $end)
    {
       	$nums = 0;
        $b = explode("-",$begin);
        $e = explode("-",$end);
        $years = $e[0] - $b[0] ;
        if(!$years){
        	//年份相等
        	$nums = $e[1] - $b[1] + 1;
        }
        else{
        	if($years == 1){
        		//一年内, 开始与12月之间的月份 + 1, 再加结束年的月份
        		$nums = 12 - $b[1] + 1 + $e[1];
        	}
        	else{
        		//超过一年的, 需要差的年份-1 乘以 12
        		$nums = ($years - 1) * 12 + 12 - $b[1] + 1 + $e[1];
        	}
        }
        return $nums;
    }
 echo getMonNums($begin,$end);