无法在PHP中正确比较时间

时间:2017-05-18 07:23:11

标签: php codeigniter time

这是我用来比较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,那么一小时休息时间应该大于当前时间,结果应该说是假的,但是说的是真的。从下午12点到下午1点之间的时间相同

任何人都可以告诉我们如何管理这个问题

1 个答案:

答案 0 :(得分:3)

有几种方法可以解决这个问题,最好的方法是使用&#34; Y-m-d H:i&#34;返回并将时间存储在数据库中。或类似的东西。
通过这种方式,您可以获得固定的时间戳,而不仅仅是您开发时大部分时间都没用的时间。

然后使用strtotime()http://php.net/manual/en/function.strtotime.php将字符串格式的日期转换为可以轻松比较的数值。