Laravel Carbon查看日期是否已过去

Pac*_*cky 8 php laravel php-carbon

我很困惑,也许这是我看不到的简单事情.如果我想看看今天的日期是否过去,我应该能够做到这样的事情吗?

if( $league->date_start <= Carbon::now() ){
    $join  = false;
    $message = 'Sorry, the league has already started';
}
Run Code Online (Sandbox Code Playgroud)

如果我把它的日期转出来

$league->date_start = 2017-07-31 00:00:00
Carbon::now() = 2017-11-01 16:29:27
Run Code Online (Sandbox Code Playgroud)

$league->date_start 是一个受保护的日期,所以它是一个碳实例

但这不起作用,如果我切换到$league->date_start >= Carbon::now()它工作,不会让我加入.我知道"联盟"的开始日期是过去所以不应该是$league->date_start <= Carbon::now()?????

Mar*_*łek 38

有内置的Carbon方法,isPast所以你可以使用:

$league->date_start->isPast()
Run Code Online (Sandbox Code Playgroud)

确定日期是否过去


Ber*_*rni 7

要检查是否$date位于(大于或等于今天的一天)或(今天之前的一天),请使用:

 function isPast($date){ 

    return  Carbon::now()->startOfDay()->gte($date);

 }


  // true :  $date is in past

  // false:  $date is in today or future
Run Code Online (Sandbox Code Playgroud)


Iva*_*ita 5

检查Carbon docs上的 \xe2\x80\x9cComparison\xe2\x80\x9d 部分。您应该调用$first->lte($second)来比较两个碳实例。

\n