当前位置:Gxlcms > PHP教程 > PHP怎的计算两个日期相差几个月

PHP怎的计算两个日期相差几个月

时间:2021-07-01 10:21:17 帮助过:19人阅读

PHP怎样计算两个日期相差几个月?
  1. <br>
  2. <!--?php<br /-->
  3. function getMonthNum( $date1, $date2, $tags='-' ){<br>
  4. $date1 = explode($tags,$date1);<br>
  5. $date2 = explode($tags,$date2);<br>
  6. return abs($date1[0] - $date2[0]) * 12 + abs($date1[1] - $date2[1]);<br>
  7. }<br>
  8. <br>
  9. echo getMonthNum("2013-02-01","2014-01-01",'-');<br>
  10. <br>
  11. ?><br>


以上代码计算出相差13个月,不知道该怎么改才能正常一些? php date

分享到:


------解决方案--------------------
去掉 abs
返回 -11 表示 2013-02-01 比 2014-01-01 少 11 个月
当然你也可以将整个返回值 abs,但这样就只是知道差 11 个月,但不知道是多了还是少了
------解决方案--------------------
  1. <br>
  2. <br>
  3. function getMonthNum($date1,$date2){<br>
  4. $date1_stamp=strtotime($date1);<br>
  5. $date2_stamp=strtotime($date2);<br>
  6. list($date_1['y'],$date_1['m'])=explode("-",date('Y-m',$date1_stamp));<br>
  7. list($date_2['y'],$date_2['m'])=explode("-",date('Y-m',$date2_stamp));<br>
  8. return abs($date_1['y']-$date_2['y'])*12 +$date_2['m']-$date_1['m'];<br>
  9. }<br>
  10. <br>
  11. echo getMonthNum("2013-02-01","2014-01-01");<br>
  12. <br>
  13. echo getMonthNum("20130201","20140101");<br>
  14. <br>
  15. echo getMonthNum("201302","201401");<br>
  16. <br>

------解决方案--------------------
  1. <br>
  2. <!--?php<br /-->
  3. function getMonthNum( $date1, $date2, $tags='-' ){<br>
  4. $date1 = explode($tags,$date1);<br>
  5. $date2 = explode($tags,$date2);<br>
  6. if ($date1[0]>=$date2[0]){<br>
  7. return abs($date1[0] - $date2[0]) * 12 + abs($date1[1] - $date2[1]);<br>
  8. }<br>
  9. else{<br>
  10. return abs($date2[0] - $date1[0]) * 12 - abs($date1[1] - $date2[1]);<br>
  11. }<br>
  12. }<br>
  13. <br>
  14. echo getMonthNum("2013-02-01","2014-01-01",'-');<br>
  15. <br>
  16. ?><br>
  17. <br>

------解决方案--------------------
上面写错了。。。。。重发:

  1. <br>
  2. <br>
  3. function getMonthNum($date1,$date2){

人气教程排行