【发布时间】:2020-02-26 19:08:54
【问题描述】:
我试图在 PHP 中使用 date_diff() 来查找两个日期之间的月数。众所周知,2019-03-01 和 2020-01-31 之间的月数是 11 个月,但是下面的代码返回 10 个月。
$date1=date_create("2019-03-01");
$date2=date_create("2020-01-31");
$diff=date_diff($date1,$date2);
echo $diff->format("%m months");
输出
10 months
为什么这段代码的返回时间少了 1 个月?
【问题讨论】:
-
可能是因为实际持续时间是 10 个月零 30 天,但您只显示“月”部分。
echo $diff->format("%m months %d days"); -
但为什么会这样返回?
-
因为还不到11个月。
-
2020-01-31 被视为 2020-01-31 00:00:00 和 2019-03-01 被视为 2019-03-01 00:00:00 。是这个原因吗?
-
没错。