2016年3月,DateInterval::$d
属性存在问题。
参见代码:
$date1 = new \DateTime('2016-07-01');
$date2 = new \DateTime('2016-07-31');
$diff = date_diff($date1, $date2, true);
var_dump($diff->d); // int(0) => OK
$date1 = new \DateTime('2016-03-01');
$date2 = new \DateTime('2016-03-31');
$diff = date_diff($date1, $date2, true);
var_dump($diff->d); // int(1) => NOT OK
在第二个例子中,我有1个月的差异(这是正常的)和1个额外的日。
我完全不明白为什么,而且我在另一个31天的月份里没有这个问题。
这是PHP错误还是对此属性的错误使用?