Получение некоторых проблем при выполнении запроса времени - PullRequest
0 голосов
/ 01 июня 2018

Я выбираю время из базы данных и выполняю какое-то условие, но оно не работает должным образом.Я не могу понять, в чем проблема в этом коде.Мой код

date_default_timezone_set('Asia/Kolkata');
  $currentDay=date("l");

  $status="SELECT * FROM nesbaty_working_time WHERE provider_id='".$r."' AND day='".$currentDay."'";

  $qry_res2 = mysqli_query($con, $status);
     $array1 = mysqli_fetch_assoc($qry_res2);
     $opening_time = $array1['opening_time'];      
     $closing_time = $array1['closing_time'];     
     $currentTime=date("h:i A");

   if (($opening_time < $currentTime) && ($currentTime < $closing_time)) 
   {             

        $response['status'] = "Open";
   }
  else
  {
        $response['status'] = "Close";
  }

в чем проблема, которую я не могу понять.Это всегда выполняет остальную часть.Моя база данных выглядит так enter image description here

Ответы [ 2 ]

0 голосов
/ 01 июня 2018

Вы должны попробовать эту функцию, чтобы сделать ваши данные в правильном формате

$openingTime = date_create_from_format('H : i A', $your_variable);
$closingTime = date_create_from_format('H : i A', $your_variable);
0 голосов
/ 01 июня 2018

Вы не можете сравнивать время AM / PM как строки.Если текущее время 11:00 AM, оно не меньше 05:00 PM, поскольку 1 больше 0.И если это 01:00 PM, это не больше, чем 10:00 AM, потому что 0 меньше, чем 1.

. Вам нужно преобразовать время в 24-часовое время, чтобы иметь возможность сравнить их должным образом.,Или просто конвертируйте их в метки времени.

$currentTime = time();
$openingTime = date_create_from_format('H : i A', $array1['opening_time']);
$closingTime = date_create_from_format('H : i A', $array1['closing_time']);

if ($openingTime <= $currentTime && $currentTime <= $closingTime) {
    $response['status'] = "open";
} else {
    $response['status'] = "closed";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...