我有一个问题来获得两个日期之间的月差。
$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');
它显示几个月,但不是几个月的全部差异。我只想要日期之间几个月的差异。
%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';
仅供参考,上述解决方案删除了不必要的代码。如果您想要今天的日期,您只需不将任何参数传递给date_create()
.