Laravel Carbon 查看日期是否过去

新手上路,请多包涵

我对此感到非常困惑,也许这是我没有看到的简单事情。如果我想查看某个日期是否在今天的过去,我应该可以这样做吗?

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

如果我把日期扔掉

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

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

但这不起作用,如果我将其切换到 $league->date_start >= Carbon::now() 它起作用并且不会让我加入。我知道“联赛”开始日期是过去的,所以不应该是 $league->date_start <= Carbon::now()

原文由 Packy 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 454
2 个回答

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

 $league->date_start->isPast()

确定日期是否过去

原文由 Marcin Nabiałek 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

  function isPast($date){

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

 }

  // true :  $date is in past

  // false:  $date is in today or future

原文由 Berni 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏