PHP unix时间戳过去

时间:2011-08-03 13:56:20

标签: php mysql timestamp

我总是在努力解决这个问题,过去制作一个unix时间戳,我需要找到超过30天的mysql中的所有记录,但似乎没有想到如何做到这一点而不写很多代码,必须有一个简短的方法来做到这一点?

任何帮助将不胜感激

由于

5 个答案:

答案 0 :(得分:4)

使用DATE_SUB

select * from mytable where time <
UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 day))

答案 1 :(得分:2)

使用PHP / MySQL:

$thirtydaysago = time() - (60 * 60 * 24 * 30);

$query = "SELECT * FROM records WHERE time < '$thirtydaysago'";

答案 2 :(得分:0)

为什么不使用PHP mktime函数,传递你想要的日期,然后离开:

http://php.net/manual/en/function.mktime.php

答案 3 :(得分:0)

我会使用mysql DATEDIFF函数

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_datediff

NOW()作为参数之一。返回日期之间的天数。

答案 4 :(得分:0)

如果您有数据字段,那么您可以使用类似mysql DATE_SUB的内容来解析:

SELECT * FROM mytable WHERE created_at < DATE_SUB(CURDATE(),INTERVAL 30 DAY);