Laravel和Carbon-DiffInDays If语句

Mat*_*hew 6 php laravel php-carbon laravel-5

我认为我有一个相对简单的问题,只是误解了我的一个方面。

我有一个索引页,在其中一个表单元格中有一个if语句:

 @if (Carbon\Carbon::parse($shipment->due_date)->diffInDays(false) > 0 && Carbon\Carbon::parse($shipment->due_date)->diffInDays(false) < 10)
Run Code Online (Sandbox Code Playgroud)

错误之处在于我想声明的是,如果是在未来的一天,比如说明天与今天相比,我将返回-1,而如果我提到昨天,则将返回1。

问题是我正在尝试使用这些文档,但是无论我尝试哪种方式,它们都在为我排队:http : //carbon.nesbot.com/docs/#api-humandiff

但是我应该提到在相同的布局上我可以做到这一点:

{{Carbon\Carbon::parse($shipment->due_date)->diffInDays()}}
Run Code Online (Sandbox Code Playgroud)

并返回过去或将来的天数(即使两者都是正数),所以我知道上述工作原理(以某种方式,但是我仍然需要提及正数或负数)。

Ale*_*nin 10

您需要提供碳日期作为的第一个参数diffInDays()。因此,逻辑将是:

Carbon\Carbon::parse($shipment->due_date)->diffInDays(now(), false)
Run Code Online (Sandbox Code Playgroud)

要么:

now()->diffInDays(Carbon\Carbon::parse($shipment->due_date), false)
Run Code Online (Sandbox Code Playgroud)

取决于您要实现的目标。

false 因为第二个参数使方法返回带符号的值(正或负)。