php sql日期时间比较

时间:2011-09-08 14:43:35

标签: php date

我的MySQL表上有一个last_notified列,数据类型为DATETIME 我想要只选择last_notified超过 n 秒的行,或者比较php中db的last_notified值。

我试过弄乱日期对象。

$d = date('Y-m-d H:i:s'); // current date and time
$dd = date('2011-09-08 10:21:34'); // this is the format used in mysql.

我知道我不能只比较它们,而且我不知道如何为日期对象添加时间。我见过人们使用

这些内容的例子
$t = explode(" ",$dd);
date($dd, strtotime('+30 minutes', strtotime($t[1])));

但这不起作用。我只是没有看到它。

3 个答案:

答案 0 :(得分:2)

你可以像这样使用sql:

SELECT * FROM your_table WHERE last_notified < DATE_SUB(NOW(), INTERVAL n SECOND)

答案 1 :(得分:1)

查看第一行中的第一个代码段和日期掩码

Y-m-d H:m:s

你使用m次面罩两次,这意味着会有一个月而不是几分钟。 您应该使用i掩码来指定分钟

答案 2 :(得分:1)

SELECT * FROM your_table WHERE last_notified < DATE_SUB(NOW(), INTERVAL n SECOND)