我正在开发一个Laravel应用程序,偶然发现了碳库的问题,所以我测试了一些东西,发现这段代码:
// Date Diff 1
$st1 = Carbon::parse("2022-11-01");
$fi1 = Carbon::parse("2023-04-01");
$diff1 = $st1->diffInMonths($fi1);
// Date Diff 2
$st2 = Carbon::parse("2022-11-01");
$fi2 = Carbon::parse("2023-03-01");
$diff2 = $st2->diffInMonths($fi2);
dd([
'Diff 1' => "2022-11-01 -> 2023-04-01 = $diff1",
'Diff 2' => "2022-11-01 -> 2023-03-01 = $diff2",
]);
返回以下内容:
"Diff 1" => "2022-11-01 -> 2023-04-01 = 5"
"Diff 2" => "2022-11-01 -> 2023-03-01 = 3"
有没有人能给我解释一下为什么它是这样工作的,或者甚至是一个建议,我可以如何修复它。
至于版本,我使用的是Laravel 5.7和PHP 7.2.5
1条答案
按热度按时间ql3eal8s1#
如果您尝试这样做,您会发现类似的问题:
问题来自PHP而不是Laravel,并且与“二月”这个月份有关(因为二月只有28天)。
一个解决方案可能是使用以下命令: