我的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])));
但这不起作用。我只是没有看到它。
答案 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)