我有一个问题是在几个月的两个日期之间得到月份差异。
$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');
它显示了几个月而不是几个月的整体差异。我只是希望在几个月之间的差异。
答案 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';
仅供参考,上述解决方案可删除不必要的代码。如果您想要今天的日期,则不要将任何参数传递给date_create()
。