如何比较Laravel Blade View中Carbon的日期?

时间:2017-12-14 19:44:00

标签: php laravel php-carbon

我希望将两个日期 - $dateX(过去的日期时间)与$currentDatetime(当前日期时间)进行比较。例如:检查$dateX是否是7天前。所有这些都应该在使用Carbon的Laravel Blade Engine视图中进行。

你能举个例子吗?谢谢!

4 个答案:

答案 0 :(得分:3)

这种想法可以通过Carbon轻松实现,因此我假设$dateX$currentDateTime都是Carbon实例,因此如果你想在几天内检查时间差异使用diffInDays

例如

if( $currentDateTime->diffInDays( $dateX ) > 7 ){
    // do sonething here
}

最后我真的想说碳文档非常清晰易读

答案 1 :(得分:1)

首先将这些日期时间记录到碳实例中。

@if ($dateX->diffInDays($currentDateTime, false) == 7)
    ...
@endif

Carbon Docs - Difference

答案 2 :(得分:1)

如果您想知道日期是否早于一周前,您可以这样做:

@if ($dateX < now()->subWeek())

diffInDays()也会起作用,但只有在过去所有$dateX天都会有效。上面的代码更明确。另外,如果您需要更改逻辑怎么办?

答案 3 :(得分:0)

您可以使用diff进行检查。还要检查日期是否在另一个之前设置。

$date1 = \Carbon\Carbon::create(2017, 10, 10);
$date2 = \Carbon\Carbon::create(2017, 10, 20);

$difference = $date1->diff($date2)->days;
$before = $date1 < $date2;

if (before && $difference < 7) {
    //Date 1 more than 7 days before date 2            
}