我在我的sql数据库中使用时间戳。 我目前正在制作一个投票系统,任何人都可以制作一个if语句,如果$ stamp超过两天,它会运行一些代码吗?我已经尝试了几个小时,似乎无法让它工作。谢谢!
答案 0 :(得分:3)
您不需要PHP为您执行此操作,让数据库执行工作,因为它通常更有效:
SELECT * FROM votes WHERE vote_timestamp <= DATE_SUB(NOW(), INTERVAL 2 DAY);
我相信这也适用于UNIX_TIMESTAMP
,TIMESTAMP
,DATETIME
和DATE
列,因为MySQL会自动执行转换并将其应用于结果集。
答案 1 :(得分:0)
time()将为您提供当前时间戳。这个数字是秒。
因此,时间戳小于time()-(2*24*60*60)
的所有内容都是您所寻找的。 p>
b.t.w如果你没有展示你尝试过的东西(或者你甚至尝试过的话),人们通常都不愿意提供帮助。
答案 2 :(得分:0)
如果你使用的是unix时间戳,那就是这样:
$two_days_ago = strtotime('-2 days');
$sql = 'SELECT * FROM table WHERE timestamp_column < ' . $two_days_ago;
如果您的列是MySQL时间戳(正如其他人提到的那样),它看起来更像是这样:
$two_days_ago = date('Y-m-d H:i:s', strtotime('-2 days'));
$sql = "SELECT * FROM table WHERE timestamp_column < '" . $two_days_ago . "'";