【发布时间】:2017-05-18 07:23:10
【问题描述】:
这是我用来比较 codeigniter 中时间的查询
$present_time = date("h:i a");
$this->db->where('status!=', 'closed ');
$this->db->where('one_hour_break!=', ' ');
$this->db->where("(one_hour_break ='$present_time' or one_hour_break < '$present_time')");
$query = $this->db->get('student');
$final_time = $query->result();
if($final_time)
{
echo "true";
}
else
{
echo "false";
}
如果时间在 1 点到 12 点之间,它会正确比较时间,但是在给定时间是 12pm 到 1pm 和 12am 到 1pm 之间,它没有正确比较时间
例如:
因此,如果当前时间:下午 12:30 和 one_hour_break:下午 1:30,则休息时间应大于当前时间,结果应为 false,但结果为 true。中午 12 点到下午 1 点之间的时间也是如此
谁能告诉我如何处理这个问题
【问题讨论】:
-
也许你可以用“H”代替?所以是24小时制?
-
@Andreas 我也遇到了 b/w 24 和 1 的问题
-
您需要在时间戳中进行时间转换,然后您可以比较时间。
-
尽量在24小时内使用时间甲
-
“仅日期格式”?这意味着什么?有几种方法可以解决这个问题,最好的方法是返回并使用“Y-m-d H:i”或类似的东西将时间存储在数据库中。这样你就可以获得一个固定的时间戳,而不仅仅是一天中的时间,这在你开发的大部分时间都是无用的。
标签: php codeigniter time