以MySQL格式获取前一天的日期

时间:2014-11-29 13:12:12

标签: php mysql datetime

我想从数据库中获取前一天的记录。

我正在使用以下方法

$date = date('Y-m-d H:i:s', strtotime('-1 day'));
$users = 'SELECT Count(*) FROM users where date="'.$date.'"';

这是显示计数0,因为数据库中的日期格式是(Y-m-d H:i:s)。

感谢。

3 个答案:

答案 0 :(得分:2)

可以做到

select count(*) from users where to_days(date) = (to_days(now()) - 1);

如果你的日期列是一个日期时间,那么这很有用 - 我们只是转换为日期数字并检查昨天的日期编号有多少记录。

答案 1 :(得分:1)

希望它能帮到你

SELECT COUNT(*) FROM users WHERE date = (CURDATE() - INTERVAL 1 DAY)

答案 2 :(得分:1)

您可能需要考虑询问MYSQL本身,以便PHP不必计算它(并且它可能更快):

SELECT Count(*) FROM users WHERE date = DATE_SUB(NOW(), INTERVAL 1 DAY)