StartDate - EndDate 与 Carbon 中的 EndDate - StartDate 相同

StartDate - EndDate is same as EndDate - StartDate in Carbon

一般情况下

$a = 100;
$b = 150;
/*  
    Output of $a - $b = (100 – 150) = -50 (Negative value)
    Output of $b - $a = (150 – 100) = 50 (Positive value)
*/

我正在尝试使用 Carbon 获取两个日期之间的差异,如下所示……

$start = Carbon::now(); 
$end = $start->copy()->addMinute(2);
echo $start->diffInSeconds($end); /* output is 120 */
echo $end->diffInSeconds($start); /* output is 120 */

问题是为什么 diffInSeconds 在两种情况下都返回相同的值? 可能是我在这里遗漏了一些东西。

以及获得正确值的正确方法应该是什么。

请帮助我理解这一点。

来自the Carbon docs

Each function below has a default first parameter which is the Carbon instance to compare to, or null if you want to use now(). The 2nd parameter again is optional and indicates if you want the return value to be the absolute value or a relative value that might have a - (negative) sign if the passed in date is less than the current instance. This will default to true, return the absolute value.

因此,要获得负值(在适当的情况下),请将可选的第二个参数设置为 false