PHP计算两个日期相差月数精确到天

	/*
	 * PHP计算两个日期相差月数精确到天
	 * $date1 = Y-m-d H:i:s
	 * $date2 = Y-m-d H:i:s
	 * $day = 0/1
	 */
	public function getMonthNums($date1, $date2, $day=0){
		$date1 = date("Y-m-d", strtotime($date1));
		$date2 = date("Y-m-d", strtotime($date2));
		if(strtotime($date1) > strtotime($date2)){
			$tmp = $date2;
			$date2 = $date1;
			$date1 = $tmp;
		}
		list($Y1, $m1, $d1) = explode('-', $date1);
		list($Y2, $m2, $d2) = explode('-', $date2);
		$y = $Y2 - $Y1;
		$m = $m2 - $m1;
		$d = $d2 - $d1;
		if($d < 0){
			$d += (int)date('t', strtotime("-1 month $date2"));
			$m --;
		}
		if($m < 0){
			$m += 12;
			$y --;
		}
		$month = $y*12 + $m;
		if($day){
			return $month.'.'.$d;
		}else{
			return $month;
		}
	}

发表评论

邮箱地址不会被公开。 必填项已用*标注