我希望从下午12:00:00到02:00:00 PM获得时间,但是当我使用start_time >= '12:00:00' AND end_time <= '02:00:00'
时它不起作用。到目前为止我有这个代码。
注意:我正在使用Code Igniter。
$start = date("g:i:s", strtotime($this->input->post('start')));
$end = date("g:i:s", strtotime($this->input->post('end')));
$date_reserve = $this->input->post('date_reserve');
$sql = "SELECT materialID FROM schedule WHERE date_reserve = ? AND start_time >= ? AND end_time <= ?";
$query = $this->db->query($sql,array($date_reserve,$start,$end));
我使用g:i:s
以12小时的格式对其进行格式化。当我尝试回应它时,给我12:00:00
和02:00:00
它不会得到AM/PM
。而且我的DB中的start_time和end_time的数据类型是time
。检索数据的正确方法是什么,以及我应该在数据库中使用哪种数据类型。谢谢!
答案 0 :(得分:0)
假设您在数据库中使用DATETIME
- 格式作为数据类型,这可以帮助您:
$start = date("h:i:s", strtotime($this->input->post('start')));
$end = date("h:i:s", strtotime($this->input->post('end')));
...
$sql = "SELECT materialID FROM schedule WHERE date_reserve = ? AND TIME(start_time) >= ? AND TIME(end_time) <= ?";
修改强>
因此,如果您使用TIME-format
,则只需更改要插入的值的格式:
$start = date("h:i:s", strtotime($this->input->post('start')));
$end = date("h:i:s", strtotime($this->input->post('end')));