我正在编写使用令牌和以date("Y-m-d H:i:s")格式存储的日期的密码恢复代码,例如2012-09-06 18:59:53。我使用下面的代码检查用户ID的令牌密钥是否存在:

$sql = mysql_query("SELECT * FROM `recoveryemails` WHERE `UserID` = '$uid' and `Key` = '$key' and `expDate` >= '$curDate'");


我需要使用PHP检索expDate后检查其是否超过3天,然后添加另一个条件。谁能帮我解决那个PHP代码吗?

最佳答案

在MySQL中,这要容易得多:WHERE ... AND expdate >= DATE_SUB(NOW(),INTERVAL 3 DAY)

但是,如果您坚持使用PHP进行操作,则需要:

$threedaysago = strtotime("-3 days");
$expdate = strtotime($row['expDate']);
if( $expdate >= $threedaysago) { /* more recent than three days ago */ }

关于php - 如何检查相对日期?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12254305/

10-11 03:13