php if语句检查当前日期时间是否在2个日期时间列之间

Cra*_*tin 4 php datetime

PostQopen和PostQClose是日期时间列.我需要一个php if语句来检查当前日期时间是否在PostQopen和PostQClose列之间.

$now = date('Y-m-d H:i:s');

if($rows['PostQopen'] >= '$now' && $rows['PostQClose'] < '$now' ){

echo "TRUE";

} else { 

echo "FALSE";

};
Run Code Online (Sandbox Code Playgroud)

Abh*_*rty 9

使用DateTime.

$date = new DateTime("now");
$PostQopen = new DateTime($rows['PostQopen']);
$PostQClose = new DateTime($rows['PostQClose']);

if($PostQopen >= $date && $PostQClose <=$now){
 // do ur stuff
}
Run Code Online (Sandbox Code Playgroud)

  • 上面的解决方案不是介于两者之间,实际上不是介于两者之间。 (2认同)

Par*_*us- 1

从 $now 中删除单引号并使用strtotime(). 即使没有strtotime(),代码也可以工作,因为compare time如果它是在datetime format.

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