php if, чтобы проверить, существует ли текущее время datetime между двумя столбцами datetime

PostQopen и PostQClose являются столбцами datetime. Мне нужен оператор php if, чтобы проверить, находится ли текущее время и время между столбцами PostQopen и PostQClose.

$now = date('Ymd H:i:s'); if($rows['PostQopen'] >= '$now' && $rows['PostQClose'] < '$now' ){ echo "TRUE"; } else { echo "FALSE"; }; 

Используйте DateTime .

 $date = new DateTime("now"); $PostQopen = new DateTime($rows['PostQopen']); $PostQClose = new DateTime($rows['PostQClose']); if($PostQopen >= $date && $PostQClose <=$now){ // do ur stuff } 

Удалите одинарные кавычки из $ now и используйте strtotime() . Все еще без strtotime() код будет работать, так как вы можете compare time если оно находится в datetime format .

 if(strtotime($rows['PostQopen']) >= strtotime($now) && strtotime($rows['PostQClose']) < strtotime($now) ) { echo "TRUE"; } else { echo "FALSE"; } 

Функция, которую можно найти между использованием DateTime приведена здесь:

 function dateIsBetween($from, $to, $date="now") { $date = new \DateTime($date); $from= new \DateTime($from); $to = new \DateTime($to); if ($date >= $from && $date <= $to) { return true; } return false; } 

Используя функцию

 dateIsBetween('2016-02-24', '2016-02-26', '2016-02-25'); //would return true dateIsBetween('2016-02-24', '2016-02-26', 'now'); //would return true if the current date would be between specified to, from dateIsBetween('2016-02-24', '2016-02-26'); //would return true if the current date would be between specified to, from 
 $now = date('Ymd H:i:s'); if(strtotime($rows['PostQopen']) >= strtotime('$now') && strtotime($rows['PostQClose']) < strtotime('$now') ){ echo "TRUE"; } else { echo "FALSE"; }; 

Проверьте, работает ли это, strtotime преобразует заданное время в миллисекунду, он должен работать