无法获得两个时间戳之间的差异

时间:2019-02-11 16:31:31

标签: php codeigniter-3

我想返回相差少于30分钟的日期数。这些是存储在数据库中的记录:

id | last_login
0    2019-02-11 17:22:47
1    0000-00-00 00:00:00
2    2019-02-11 17:22:03
3    0000-00-00 00:00:00
4    0000-00-00 00:00:00

查询结果应为2,但得到1:

$time = strtotime('+30 minutes');

return $this->db->select('COUNT(last_login) AS users_online')
    ->from('login')
    ->where('UNIX_TIMESTAMP(last_login) < ' . $time)
    ->get()->num_rows();

1 个答案:

答案 0 :(得分:0)

这里的代码有两个问题。首先,由于/path/to/your/files/,您将所有数据减少为带有隐式组的1条记录-然后获取通过count()返回的记录数。

第二个问题是,您将获得表中的每条记录,该记录的未来记录将在30分钟以内...永远都是每一行。

num_rows()

收益:

echo date('H:i') . "\n" . date('H:i', strtotime('+30 minutes'));
相关问题