使用Laravel比较时间

问题描述 投票:0回答:2

在我的Laravel应用程序中,我想比较时间如果时间大于23:30并且小于6:00,则返回true否则返回false

$time1 = strtotime('23:30:00');
$time2 = strtotime('06:00:00');
$time3 = strtotime('01:30:00');

if ($time3>=$time1 && $time2>$time1 ) {
    var_dump('yes');
}
else {
    var_dump('no');
}
laravel
2个回答
0
投票

使用Carbon,它具有使用createFromFormat()方法从某种格式创建的功能。

$time1 = Carbon::createFromFormat('H:i:s', '23:30:00');

$time2 = Carbon::createFromFormat('H:i:s', '06:00:00');

$time3 = Carbon::createFromFormat('H:i:s', '01:30:00');

Carbon具有内置比较,gt()大于而lt()小于。以lte()的形式向通话中添加e会小于等于。或者,您可以更明确地查看documentation中的此部分。

if ($time3->gte($time1) && $time2->gt($time1)) {
    //
}
else {
    //
}

0
投票

我建议使用Carbon比较日期和日期时间值:

$time1 = Carbon::createFromTimeString('23:30:00');
$time2 = Carbon::createFromTimeString('06:00:00');
$time3 = Carbon::createFromTimeString('01:30:00');

if ($time3->gte($time1) && $time2->gt($time1)) {
    var_dump('yes');
} else {
    var_dump('no');
}
© www.soinside.com 2019 - 2024. All rights reserved.