我希望得到两个日期之间的总数。我的代码返回0
而不是10 * 12
。为什么它不起作用,我该如何解决?
代码:
$date1 = new DateTime("2015-02-14");
$date2 = new DateTime("2025-02-14");
var_dump($date1->diff($date2)->m); // output 0
答案 0 :(得分:2)
试试这种方式
$date1 = new DateTime("2015-02-14");
$date2 = new DateTime("2025-02-14");
$diff = $date1->diff($date2);
echo (($diff->format('%y') * 12) + $diff->format('%m')) . "months difference";
答案 1 :(得分:0)
请试试这个
$date1 = '2015-02-14';
$date2 = '2025-02-14';
$ts1 = strtotime($date1);
$ts2 = strtotime($date2);
$year1 = date('Y', $ts1);
$year2 = date('Y', $ts2);
$month1 = date('m', $ts1);
$month2 = date('m', $ts2);
$diff = (($year2 - $year1) * 12) + ($month2 - $month1);
或者其他尝试这个
$d1 = new DateTime("2015-02-14");
$d2 = new DateTime("2025-02-14");
var_dump($d1->diff($d2)->m); // int(4)
var_dump($d1->diff($d2)->m + ($d1->diff($d2)->y*12)); // int(8)