php中两个日期(" F j,Y")日期之间的时差

时间:2014-11-03 20:54:47

标签: php date time date-math

我有一个问题是在几个月的两个日期之间得到月份差异。

$d1 = date_create('January 1, 2013');
$date = date("F j, Y");
$d2 = date_create($date);
$dif = date_diff($d1, $d2);
 //echo $dif->format('%y years');
 echo $dif->format('%m months');

它显示了几个月而不是几个月的整体差异。我只是希望在几个月之间的差异。

1 个答案:

答案 0 :(得分:2)

%m仅显示长达11个月。在那之后几年人口稠密。如果你想要几个月你需要计算几年并做一些数学运算:

$d1  = date_create('January 1, 2013');
$d2  = date_create();
$dif = date_diff($d1, $d2);
echo ($dif->format('%m') + $dif->format('%y') * 12) . ' months';

Demo

仅供参考,上述解决方案可删除不必要的代码。如果您想要今天的日期,则不要将任何参数传递给date_create()