PHP时间戳和if语句

时间:2011-11-01 00:37:56

标签: php mysql

我在我的sql数据库中使用时间戳。 我目前正在制作一个投票系统,任何人都可以制作一个if语句,如果$ stamp超过两天,它会运行一些代码吗?我已经尝试了几个小时,似乎无法让它工作。谢谢!

3 个答案:

答案 0 :(得分:3)

您不需要PHP为您执行此操作,让数据库执行工作,因为它通常更有效:

SELECT * FROM votes WHERE vote_timestamp <= DATE_SUB(NOW(), INTERVAL 2 DAY);

我相信这也适用于UNIX_TIMESTAMPTIMESTAMPDATETIMEDATE列,因为MySQL会自动执行转换并将其应用于结果集。

答案 1 :(得分:0)

time()将为您提供当前时间戳。这个数字是秒。 因此,时间戳小于time()-(2*24*60*60)的所有内容都是您所寻找的。

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 . "'";