在PHP中根据时间过滤数据

在PHP中根据时间过滤数据,php,time,filter,Php,Time,Filter,有不同的地方可供选择 如果用户想要预订地点,他/她将提供所需的开始和结束日期时间 "needPlaceFrom" : "2017-12-04 09:00:00" "needPlaceTo" : "2017-12-04 10:00:00" 所需地点已预订,但在规定时间内可用 "bookedFrom" : "2017-12-04 11:00:00" "bookedTo" : "2017-12-04 12:00:00" "bookedFrom" : "2017-12-04 07:00:00

有不同的地方可供选择

如果用户想要预订地点,他/她将提供所需的开始和结束日期时间

"needPlaceFrom" : "2017-12-04 09:00:00"
"needPlaceTo"   : "2017-12-04 10:00:00"
所需地点已预订,但在规定时间内可用

"bookedFrom" : "2017-12-04 11:00:00"
"bookedTo"   : "2017-12-04 12:00:00"

"bookedFrom" : "2017-12-04 07:00:00"
"bookedTo"   : "2017-12-04 08:00:00"
我需要创建一个条件,在这个条件下,我只在该位置可用时才显示该位置

我正在这样做

if(needPlaceFrom < bookedFrom && needPlaceTo < bookedTo || needPlaceFrom > bookedFrom && needPlaceTo > bookedTo)
{
    //show data
}

而且已经预订了11:00-12:00的座位,但状况有问题 这需要这样做

if((needPlaceFrom < bookedFrom || needPlaceFrom > bookedTo) && (needPlaceTo < bookedFrom || needPlaceTo > bookedTo))
{
    //show data
}
if((needPlaceFrombookedTo)&(needPlaceTobookedTo))
{
//显示数据
}

那么您的问题是什么?问题不明白。如果你想比较时间,勾选这个你忘了提到问题是什么,但是我可以看到一个问题是你需要使用括号来分组你的条件。混合和或类似的方式不会达到您期望的效果。如果我从“2017-12-04 11:05:00”开始输入Needplace,则不会显示正确的数据,因为这会使该位置可供预订
if((needPlaceFrom < bookedFrom || needPlaceFrom > bookedTo) && (needPlaceTo < bookedFrom || needPlaceTo > bookedTo))
{
    //show data
}