我需要在几个月之间获得差异,而不是几天。 如果我这样做:
$todaStart = new DateTime("2015-06-30");
$dateEnd = new DateTime("2015-07-01");
$diff = $todaStart->diff($dateEnd);
var_dump($diff);
object(DateInterval)[3]
public 'y' => int 0
public 'm' => int 0
public 'd' => int 1
public 'h' => int 0
public 'i' => int 0
public 's' => int 0
[...]
" m"参数是0,但是月份发生了变化,所以对于我需要做的计数,我需要结果为1
如果我将月份更改为" 08"同样会发生同样的情况,它应该计算2个月的差异,但响应时间为1个月。
答案 0 :(得分:1)
我在this网站上找到了这个解决方案的网页,希望对其他人有帮助。
$d1= new DateTime("2015-06-01");
$d2= new DateTime("2015-07-30");
$y1 = $d1->format('Y');
$m1 = $d1->format('m');
$y2 = $d2->format('Y');
$m2 = $d2->format('m');
$diff = (($y2 - $y1) * 12) + ($m2 - $m1);
// var_dump($diff) output 1