PHP Carbon diffInMonths

Már*_*tor 6 php datetime php-carbon

我对 PHP Carbon diffInMonths 函数有问题。在某些情况下,我得到了错误的结果。例如:

$start = \Carbon\Carbon::create(2017, 4, 1);
$end   = \Carbon\Carbon::create(2017, 5, 1);

echo $start->diffInMonths($end);
Run Code Online (Sandbox Code Playgroud)

我应该得到 1 但我得到 0。我使用 PHP 7.1 和 Laravel 5.4。

有人有同样的问题吗?我该如何解决?感谢您的帮助!

Kri*_*ofe 1

正如github上的 Carbon 问题所说,这是一个错误。这里还有更多

<?php
$d1 = new DateTime("2015-03-01 00:00:00.000000", new DateTimeZone('Europe/London'));
$d2 = new DateTime("2015-05-01 00:00:00.000000", new DateTimeZone('Europe/London'));

$diff = $d2->diff($d1);

print_r($diff);
Run Code Online (Sandbox Code Playgroud)

输出

DateInterval Object ( [y] => 0 [m] => 1 [d] => 30 [h] => 0 [i] => 0 [s] => 0 [f] => 0 [weekday] => 0 [weekday_behavior] => 0 [first_last_day_of] => 0 [invert] => 1 [days] => 61 [special_type] => 0 [special_amount] => 0 [have_weekday_relative] => 0 [have_special_relative] => 0 )
Run Code Online (Sandbox Code Playgroud)