Ι在MySQL中有一个表
date starttime endtime
11/2/2014 10:00:00 10:45:00
11/2/2014 10:45:00 11:15:00
11/2/2014 11:45:00 12:15:00
11/2/2014 12:15:00 13:30:00
我需要sql查询给我回复30分钟设置新会议的时间
答案 0 :(得分:0)
$array_time = array();
$query = "SELECT starttime, endtime FROM table";
$result = $mysqli->query($query);
//fetch result
while ($array_time[] = $result->fetch_assoc()) {}
/*
$array_time = Array (
...
1 => array('starttime' => 10:45:00, 'endtime' => 11:15:00)
2 => array('starttime' => 11:45:00, 'endtime' => 12:15:00)
...
)
*/
//array of free time for your meeting
$free_time = array();
foreach($array_time as $i => $row){
if($i > 0) {
//if this is not the first time row
//get this row starttime
$this_starttime = strtotime($row['starttime']);
//and the last endtime
$prev_endtime = strtotime($array_time[$i-1]['endtime']);
//get the difference
$diff = $this_starttime - $prev_endtime;
//if difference is more or equal than 30 minutes
if($diff >= strtotime('30 minutes')) {
$free_time[] = array('starttime' => $row['starttime'], $array_time[$i-1]['endtime']);
}
}
}
我认为你不能在MySQL查询中这样做,所以PHP可以帮助你。 希望它有效,我还没有测试过。
但是尝试通过其他方式保存您的数据,这不是那么有效,如您所见。