PHP-比较变量以查看指定的开始时间和结束时间之间是否存在差异

PHP-比较变量以查看指定的开始时间和结束时间之间是否存在差异,php,time,Php,Time,我正在从具有开始时间和结束时间的数据库中检索记录。然后我需要比较它们,看看预定义的约会时间段是否在开始/结束时间内。例如,我将从数据库中检索一条记录,并具有: $recordStartTime = 9.00am $recordStartTime = 10.30am 然后,我需要将此时间段与预定义的约会时间段进行比较,以查看它是否可用-这些预定义的约会时间段以15分钟为增量。因此,如果使用上面的示例,我有一个从上午9:30到上午9:45的约会时间段,这将被视为“不可用”。如果我的预约时间段为下午

我正在从具有开始时间和结束时间的数据库中检索记录。然后我需要比较它们,看看预定义的约会时间段是否在开始/结束时间内。例如,我将从数据库中检索一条记录,并具有:

$recordStartTime = 9.00am
$recordStartTime = 10.30am
然后,我需要将此时间段与预定义的约会时间段进行比较,以查看它是否可用-这些预定义的约会时间段以15分钟为增量。因此,如果使用上面的示例,我有一个从上午9:30到上午9:45的约会时间段,这将被视为“不可用”。如果我的预约时间段为下午2点到2点15分,这将被视为“可用”

我将遍历一组记录来进行比较。

您需要使用strotime()。这将把时间转换为自1970-01-01 00:00:00以来经过的秒数

你可以试试下面的方法

<?php
$time1 = strtotime("9.00am");
$time2 = strototime("10.30am");
?>


$time1和$time2现在将具有数值,您可以使用这些数值与普通运算符进行比较。

我不确定这种时间格式。。如果您首先将其转换为php可以轻松读取的内容,这可能是最好的


尝试使用strotime()或进行一些手动转换。

如果您想找出插槽之间的时间,可以查看下面的代码

$checkCurrentTime = "10:45 am";
$recordStartTime = "9:00 am";
$recordEndTime = "10:30 am";
$date1 = DateTime::createFromFormat('H:i a', $checkCurrentTime);
$date2 = DateTime::createFromFormat('H:i a', $recordStartTime);
$date3 = DateTime::createFromFormat('H:i a', $recordEndTime);
if ($date1 > $date2 && $date1 < $date3){
   echo 'slot not availble';
}else{
    echo 'slot availble';
}
$checkCurrentTime=“上午10:45”;
$recordStartTime=“上午9:00”;
$recordEndTime=“上午10:30”;
$date1=DateTime::createFromFormat('H:IA',$checkCurrentTime);
$date2=DateTime::createFromFormat('H:IA',$recordStartTime);
$date3=DateTime::createFromFormat('H:IA',$recordEndTime);
如果($date1>$date2&&$date1<$date3){
回显“插槽不可用”;
}否则{
回音“插槽可用”;
}

您可以使用strotime()将字符串更改为时间,然后您可以[跟随此处][1]。[1] :我认为,仅检查开始时间是否介于之间是不够的。如果
$checkCurrentTime=“09:00 am”发生什么情况$recordStartTime=“09:10 am”$recordEndTime=“上午10:30”?时间间隔为15分钟,您必须根据情况检查so 09:10是否为无效时间,并需要在进一步处理之前进行检查。