1. 程式人生 > >php 計算兩個時間內相差多少個月

php 計算兩個時間內相差多少個月

網上有很多計算相差月數的方法,其中有一個比較靠譜,但有所缺陷的方法,經我修改後給大家參考使用:

function month_numbers($start_m,$end_m){ //日期格式為2018-8-28
      $date1 = explode('-',$start_m);
      $date2 = explode('-',$end_m);

      if($date1[1]<$date2[1]){ //判斷月份大小,進行相應加或減
           $month_number= abs($date1[0] - $date2[0]) * 12 + abs($date1[1] - $date2[1]);
      }else{
           $month_number= abs($date1[0] - $date2[0]) * 12 - abs($date1[1] - $date2[1]);
      }
}

這個方法經我實測,可以解決計算相差月數的實際問題,網上方法多數沒有下面那個判斷,如果沒有判斷,當開始時間月份大於結束時間月份,相差月份就會錯誤。