计算两个日期所包含的日历月数

时间:2015-04-11 00:44:29

标签: php mysql date calendar

我想使用PHP或MySQL计算两个日期之间包含的日历月数。

例如:

2015年2月3日(2015-02-03)和2015年4月10日(2015-04-10)将是3个月(2月,3月,4月。另外,2015年2月28日(2015-02-28) 2015年4月1日(2015-04-01)为期三个月(2月,3月,4月)。

因此,实际的日历月数并不重要......我只是想知道两个月之间日历上有多少个月。

我不能用PHP或MySQL来做一个简单/优雅的方法。

2 个答案:

答案 0 :(得分:0)

试试这个:

$from = new DateTime('February 28, 2015');
$to = new DateTime('April 1, 2015');
$months = 1 + ($to->format('Y') - $from->format('Y')) * 12 + $to->format('n') - $from->format('n');

echo $months ;

demo

答案 1 :(得分:0)

您可以使用它来获取两个日期之间的总月数

    $date1 = '2015-10-25';
    $date2 = '2016-07-20';        

    $year1 = date('Y', strtotime($date1));
    $year2 = date('Y', strtotime($date2));

    $month1 = date('m', strtotime($date1));
    $month2 = date('m', strtotime($date2));

    $diff = (($year2 - $year1) * 12) + ($month2 - $month1);
    echo $diff;

希望这会有所帮助。感谢。