需要一天中的最长和最短时间


Need max and min time of day

我遇到了一些问题。我希望能够获取所有事件的最小[early](start_time)和最大[latest],但是,我只想选择下面日期发生的事件的最大值和最小值。。。。($date0_post)[注意,我将重复七次,以复制一周的风格……所以"+0天"最终将具有一个功能,即:"+1天"、"+2天"等。]

$date0 = strtotime("+0 day");
$date0_post = date('Y-m-d', $date0);

下面是一个我认为它可能如何工作的例子,然而,我确信我做得不对:

$sql = "SELECT max(end_time), min(start_time) FROM events WHERE date='$date0_post' AND course='$courseid'";
$query = mysqli_query($db_conx, $sql);
while($row = mysqli_fetch_assoc($query)){
$event_min_start = $row["start_time"];    
$event_max_end = $row["end_time"];
}

另外,我有变量$coursetee_open_time_mysql&$coursetee_close_time_mysql。。。在datetime格式中(与提取max和min的格式相同)。。。下面是一个if语句,声明if:
当天任何活动的最低开始时间都早于课程的开放时间&当天任何事件的最大结束时间都比结束时间短,然后是echo '<option value="1" disabled>Closed for '.$closed_reason.'</option>';

if ($event_min_start < $coursetee_open_time_mysql && $coursetee_close_time_mysql < $event_max_end) {
echo '<option value="1" disabled>Closed for '.$closed_reason.'</option>';
} else {
echo '<option value="1">Today</option>';
}

我想得太多了,我修复了它,并将三次获取变成了一次。。。感谢@hd1把我引向正确的方向。

$sql = "select reason, min(start_time) AS start_time, max(end_time) AS end_time FROM events WHERE date='$date_post' AND course='$courseid'";
$query = mysqli_query($db_conx, $sql);
while($row = mysqli_fetch_assoc($query)){
$event_max_end = $row["end_time"];
$event_min_start = $row["start_time"];
$event_reason = $row["reason"];
}