У меня есть следующий код. Я пытаюсь сравнить два get, чтобы войти в if, но я что-то не так с кодом.
следующий код должен работать, если время выше 23:29 и меньше, чем 08:10 …
$gettime="04:39"; // getting this from database $startdate = strtotime("23:29"); $startdate1 = date("H:i", $startdate); $enddate = strtotime("08:10"); $enddate1 = date("H:i", $enddate); //this condition i need to run if($gettime >= strtotime($startdate1) && $gettime <= strtotime($enddate1)) { echo"ok working"; }
пожалуйста, помогите мне в этом
благодаря
Удостоверьтесь, что вам нравятся правильные типы данных, отметки времени с отметками времени, а не w / строки и т. Д. …
$gettime= strtotime("22:00"); // getting this from database $startdate = strtotime("21:00"); //$startdate1 = date("H:i", $startdate); $enddate = strtotime("23:00"); //$enddate1 = date("H:i", $enddate); //this condition i need to run if($gettime >= $startdate && $gettime <= $enddate) { echo"ok working"; }
Вы сравниваете строку с датой. $ gettime – это строка, и вы сравниваете ее с объектом времени.
Вам нужно преобразовать $ gettime в объект времени, вызывая $ gettime = strtotime ($ gettime), а затем вы можете сравнить его с помощью> или <, как у вас выше.
Предполагая, что вы получаете время из БД в формате date
(а не как string
):
изменение:
if($gettime >= strtotime($startdate1) && $gettime <= strtotime($enddate1))
чтобы:
if($gettime >= strtotime($startdate1) || $gettime <= strtotime($enddate1))
Для сравнения времени вы должны использовать предоставленные PHP-классы. DateTime :: diff вернет объект с информацией о разнице во времени: http://www.php.net/manual/en/datetime.diff.php
Вы можете обратиться к документации PHP о функции DateTime::diff
на своем веб-сайте http://php.net/manual/en/datetime.diff.php
Вы также можете решить этот вопрос stackoverflow. Как рассчитать разницу между двумя датами с помощью PHP?