PHP 5.5.1.14:
$d1 = new DateTime("2014-04-01 00:00");
$d2 = new DateTime("2014-07-01 00:00");
$d3 = $d2->diff($d1);
echo $d3->m . " months, " . $d3->d . " days";
返回
2个月,30天
有没有办法可靠地获得3个月的直观结果? (这是一个错误吗?) 顺便说一句,当使用May1st和Aug1时,它给出了3个月的预期结果......
答案 0 :(得分:1)
如果时间不重要而且您需要几个月的差异,那么您可以使用' 23:59'时间。
$d1 = new DateTime("2014-04-01 00:00");
$d2 = new DateTime("2014-07-01 23:59");
$d3 = $d2->diff($d1);
echo $d3->m . " months"
返回
3 months
自2014-01-01 - 2014-04-01至2014-12-01 - 2015-03-01之间的所有其他日期对将返回3 months