php - StartDate - EndDate 与 EndDate - Carbon 中的 StartDate 相同
问题描述
一般情况下
$a = 100;
$b = 150;
/*
Output of $a - $b = (100 – 150) = -50 (Negative value)
Output of $b - $a = (150 – 100) = 50 (Positive value)
*/
我正在尝试使用 Carbon 来获取两个日期之间的差异,如下所示……</p>
$start = Carbon::now();
$end = $start->copy()->addMinute(2);
echo $start->diffInSeconds($end); /* output is 120 */
echo $end->diffInSeconds($start); /* output is 120 */
问题是为什么 diffInSeconds 在两种情况下都返回相同的值? 可能是我在这里遗漏了一些东西。
什么应该是正确的方法来实现正确的值。
请帮助我理解这一点。
解决方案
来自碳文档:
下面的每个函数都有一个默认的第一个参数,它是要比较的 Carbon 实例,如果你想使用 now(),则为 null。第二个参数也是可选的,它指示如果传入的日期小于当前实例,则返回值是绝对值还是可能带有 -(负)号的相对值。这将默认为true,返回绝对值。
因此,要获得负值(在适当的情况下),请将可选的第二个参数设置为false
.
推荐阅读
- postgresql - 如何在与 Postgres 函数中的动态 SQL 合并的游标中使用函数参数?
- c# - 在运行时监控 .net 应用程序
- vhdl - 计算输入信号中的“01”序列
- clojure - 你如何在 clojure 中创建一个列表数组?
- django - Django Rest Framework 用户外键
- python - Pandas read_sql - 如果表不存在则忽略错误
- python - 在离开函数之前删除条目对象是否有用?
- node.js - 如何在reactJS中多次使用firebase应用程序
- graphql - 联合内的 GraphQL 联合
- javascript - 删除父 div 留下其子 div