Php 检查日期时间是否为14天前

Php 检查日期时间是否为14天前,php,mysql,sql,datetime,phpmyadmin,Php,Mysql,Sql,Datetime,Phpmyadmin,我试图做的是查询数据库中的一个表,这样我就可以在他们激活帐户14天后发送一封欢迎电子邮件 成功发送电子邮件后,我将设置标志=0,以便以后不再发送电子邮件 我不知道如何将激活日期与14天期限进行比较…您可以使用datediff: 如果激活的日期差异=14,请选择行: 您可以在查询中比较您的激活日期与日期子项(现在(),间隔14天)。使用datediff()函数,下面是一个示例,以了解其工作原理: 当然你可以在WHERE语句中使用它 WHERE datediff( now() , '2013-04

我试图做的是查询数据库中的一个表,这样我就可以在他们激活帐户14天后发送一封欢迎电子邮件

成功发送电子邮件后,我将设置标志=0,以便以后不再发送电子邮件

我不知道如何将激活日期与14天期限进行比较…

您可以使用datediff:

如果激活的日期差异=14,请选择行:


您可以在查询中比较您的激活日期与日期子项(现在(),间隔14天)。

使用datediff()函数,下面是一个示例,以了解其工作原理:

当然你可以在WHERE语句中使用它

WHERE datediff( now() , '2013-04-11' ) = 14 

使用
now()
函数获取当前日期。我的示例日期(2013-04-11)应替换为您的
激活日期
列。

您可以在where子句中使用日期子函数

where activation_date > date_sub(now() ,interval 14 day) and flag <> 0
where activation\u date>date\u sub(现在(),间隔14天)和标志0
示例代码


这是我需要的查询!谢谢大家。。。只是需要修改一下您的建议。

看看
DATEDIFF
函数:您将使用它来计算当前日期和您的
activation\u date
之间的差异。您可以写一个简单的例子吗?从我的表中选择*,其中activation\u dateI not to date\u SUB。。。我想采取激活_日期,并添加14天到它。。。没有
SELECT*FROM bid\u tag,其中activation\u date=date\u ADD(activation\u date,INTERVAL 14 day)和active=1,msg\u welcome=0
。DATE_SUB(NOW(),INTERVAL 14 day)获取14天前的时间,因此我的查询应该获取所有早于14天的记录。where子句永远不会选择任何内容,因为它基本上总是尝试执行“where x=x+14”。因为你想比现在早14天,所以现在就必须参与。
操作符是什么意思?表示不相等(与!=)
WHERE datediff( now() , '2013-04-11' ) = 14 
where activation_date > date_sub(now() ,interval 14 day) and flag <> 0
SELECT * FROM my_table WHERE DATEDIFF( NOW() , activation_date ) = 14 AND active = 1 AND msg_welcome = 0