/* * 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; } }