Php 如何检查mysql中是否存在数据时间?
有一个时间表系统 每个时隙仅存在一个预订 我这样保存数据:Php 如何检查mysql中是否存在数据时间?,php,mysql,datetime,Php,Mysql,Datetime,有一个时间表系统 每个时隙仅存在一个预订 我这样保存数据: start_time datetime duration int 也就是说,如果从2015-12-20 21:00:00到2015-12-20 23:00:00 将是 现在,我想检查插入数据是否为: 1)时间范围与现有记录重叠? 2)是否超过24小时?例如,从22:00开始预订,但持续时间为5小时 我尝试类似的条件,但无法在24小时内检查 $start_time = new DateTime($_POST['start_time']
start_time datetime
duration int
也就是说,如果从2015-12-20 21:00:00到2015-12-20 23:00:00
将是
现在,我想检查插入数据是否为:
1)时间范围与现有记录重叠?
2)是否超过24小时?例如,从22:00开始预订,但持续时间为5小时
我尝试类似的条件,但无法在24小时内检查
$start_time = new DateTime($_POST['start_time']);
$end_time = new DateTime($booking_time);
$end_time = $end_time->add(new DateInterval('PT' . $_POST['duration']. 'H'));
$_POST['start_time'] >= start_time AND end_time <= start_time
$start\u time=new DateTime($\u POST['start\u time']);
$end\u time=新日期时间($booking\u time);
$end_time=$end_time->add(新的日期间隔('PT'.$)\u POST['duration'.'H');
$\u POST['start\u time']>=开始时间和结束时间对于第二个条件,您是否尝试检查预订是否在开始的同一天结束
如果是这种情况,以下选择将返回符合此条件的预订:
从预订中选择开始时间、持续时间,其中日期(开始时间)日期(时间戳添加(小时、持续时间、开始时间))代码>
$start_time = new DateTime($_POST['start_time']);
$end_time = new DateTime($booking_time);
$end_time = $end_time->add(new DateInterval('PT' . $_POST['duration']. 'H'));
$_POST['start_time'] >= start_time AND end_time <= start_time