Сравните время, используя Laravel - PullRequest
1 голос
/ 10 апреля 2020

В моем приложении 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');
}

Ответы [ 2 ]

1 голос
/ 10 апреля 2020

Я бы предложил использовать 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');
}
0 голосов
/ 10 апреля 2020

Используйте 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() меньше. Добавление e к вызову как lte() будет меньше, чем равно. Или вы можете быть более точным, посмотрите этот раздел в документации .

if ($time3->gte($time1) && $time2->gt($time1)) {
    //
}
else {
    //
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...