gpt4 book ai didi

php - 如何在 php/mysql 中以 12 小时时间格式使用 >= AND <= 获取数据?

转载 作者:行者123 更新时间:2023-11-30 23:14:36 25 4
gpt4 key购买 nike

我想获取从 12:00:00 PM 到 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:0002:00:00它没有得到 AM/PM .而且我的数据库中 start_time 和 end_time 的数据类型是 time .检索数据的正确方法是什么,我应该在我的数据库中使用什么数据类型。谢谢!

最佳答案

假设您在数据库中使用 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')));

关于php - 如何在 php/mysql 中以 12 小时时间格式使用 >= AND <= 获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18531453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com