一般情况
$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 在两种情况下都返回相同的值? 可能是我在这里遗漏了什么。
以及实现正确值的正确方法应该是什么。
请帮助我理解这一点。
答案 0 :(得分:4)
下面的每个函数都有一个默认的第一个参数,即 Carbon 要比较的实例,如果您想使用 now(),则为 null。第二届 参数再次是可选的,并指示是否需要返回值 是绝对值或相对值,可能具有 - (负)如果传入的日期小于当前的符号 实例。这将默认为 true,返回绝对值。
因此要获得负值(在适当的情况下),请将可选的第二个参数设置为 false
。