私はこれに非常に戸惑っています。たぶん私は見ていませんが、それは単純なものです。日付が今日の過去であるかどうかを確認したい場合、私はこのようなことをすることができるはずですか?
_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()
?????
組み込みのCarbonメソッドisPast
があるので、次を使用できます。
$league->date_start->isPast()
日付が過去かどうかを判断する
carbon docs の「比較」セクションを確認してください。 $first->lte($second)
を呼び出して、2つのカーボンインスタンスを比較する必要があります。
if ($league->date_start->diffInSeconds() >= 0)
を使用してみてください。メソッドdiffInSeconds
は、現在の時刻とカーボンインスタンスの差を返します。
ティンカーからの出力の例を次に示します-
>>> $now = \Carbon\Carbon::now();
=> Carbon\Carbon {#648
+"date": "2017-11-01 16:41:04.000000",
+"timezone_type": 3,
+"timezone": "UTC",
}
>>> $now->diffInSeconds();
=> 5
>>> $now->diffInSeconds();
=> 7
>>> $now->diffInSeconds();
=> 8
>>> $now->diffInSeconds();
=> 10
>>> $now->diffInSeconds() > 0
=> true