0

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

$recordStartTime = 9.00am
$recordStartTime = 10.30am

然后,我需要将此时间范围与预定义的预约时间段进行比较,以查看它是否可用 - 这些预定义的预约时间段以 15 分钟为增量。因此,如果我使用上述示例从上午 9.30 到上午 9.45 有一个预约时间段,这将被视为“不可用”。如果我的预约时间段为下午 2.00 - 2.15,这将被视为“有空”。

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

4

3 回答 3

1

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

你可以试试下面的。

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

$time1 和 $time2 现在将具有可用于与普通运算符进行比较的数值。

于 2013-11-12T05:31:04.833 回答
0

我不确定那种时间格式。也许最好先将它转换为php可以轻松读取的东西。

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

于 2013-11-12T05:33:40.670 回答
0

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

$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';
}
于 2013-11-12T05:37:12.250 回答