我有这个;
$long = "86400";
$query = "SELECT * FROM users WHERE unixdate = UNIX_TIMESTAMP()-$long
ORDER BY unixdate DESC";
但它不起作用。我想在 24 小时内显示所有新用户
最佳答案
您可以在 MySQL 中完全执行该查询
SELECT col1, col2, otherCols
FROM yourTable
WHERE timestamp_col > (NOW() - INTERVAL 24 HOUR)
表达式
(NOW() - INTERVAL 24 HOUR)
返回 24 小时前的日期。 MySql 足够智能,可以处理 Time related column types 之间的比较.如
timestamp_col
不是时间相关类型,而是类似于 varchar 或 int 列的类型,您必须使用 FROM_UNIXTIME
在列上或调整上面的查询来读取SELECT col1, col2, otherCols
FROM yourTable
WHERE timestamp_col > UNIX_TIMESTAMP( NOW() - INTERVAL 24 HOUR )
See DATE_SUB and DATE_ADD in the MySql Manual .
关于php - 如何通过 unixstamp 获取过去 24 小时的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3864613/