$start = '22:00:00';
$end = '08:00:00';
$now = Carbon::now('UTC');
Run Code Online (Sandbox Code Playgroud)
如何检查 $now 的时间是否在时间范围内?
Ali*_*N11 25
有几种方法可以通过使用 Carbon 来实现。最简单的方法之一是使用createFromTimeString和between方法:
$now = Carbon::now();
$start = Carbon::createFromTimeString('22:00');
$end = Carbon::createFromTimeString('08:00')->addDay();
if ($now->between($start, $end)) {
// ¯\_(?)_/¯
}
Run Code Online (Sandbox Code Playgroud)
$start = '22:00:00';
$end = '08:00:00';
$now = Carbon::now('UTC');
$time = $now->format('H:i:s');
if ($time >= $start && $time <= $end) {
...
}
Run Code Online (Sandbox Code Playgroud)
应该这样做,但不考虑日期
尝试这个:
$time = Carbon::now();
$morning = Carbon::create($time->year, $time->month, $time->day, 8, 0, 0); //set time to 08:00
$evening = Carbon::create($time->year, $time->month, $time->day, 18, 0, 0); //set time to 18:00
if($time->between($morning, $evening, true)) {
//current time is between morning and evening
} else {
//current time is earlier than morning or later than evening
}
Run Code Online (Sandbox Code Playgroud)
的true在$time->between($morning, $evening, true)检查是否$time是与包括间$morning和$evening。如果您false改为写入,它只会检查它是否在两次之间但不包括在内。
实际上,您可以离开true,因为它是默认设置的并且不需要。
请点击这里获取有关如何日期和时间与碳比的更多信息。
小智 0
尝试这个 :
$start = 22; //Eg. start hour
$end = 08; //Eg. end hour
$now = Carbon::now('UTC');
if( $start < $now->hour && $now->hour < $end){
// Do something
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23370 次 |
| 最近记录: |