当用户注册电子邮件包含六小时后无效的链接时,我必须发送一封电子邮件
发送电子邮件时我正在做什么我使用“datetime”类型的字段emailSentDate更新数据库
现在我得到了最新的日期和时间,并且已经达到与db现在相同的格式我现在想要发现这些日期和时间都有6个小时的差异,以便我可以使链接无效但我不知道如何去做这个
发送电子邮件时我正在做什么我使用“datetime”类型的字段emailSentDate更新数据库
现在我得到了最新的日期和时间,并且已经达到与db现在相同的格式我现在想要发现这些日期和时间都有6个小时的差异,以便我可以使链接无效但我不知道如何去做这个
我的代码看起来像这样我只是为db使用硬编码值
$current_date_time=date("Y-m-d h:i:s"); $current=explode(" ",$current_date_time); $current_date=$current[0]; $current_time=$current[1]; $db_date_time="2010-07-30 13:11:50"; $db=explode(" ",$db_date_time); $db_date=$db[0]; $db_time=$db[1];
我不知道如何继续plz帮助
<?PHP //$now = new DateTime(); // current date/time $now = new DateTime("2010-07-28 01:11:50"); $ref = new DateTime("2010-07-30 05:56:40"); $diff = $now->diff($ref); printf('%d days,%d hours,%d minutes',$diff->d,$diff->h,$diff->i);
打印2天,4小时,44分钟
见http://docs.php.net/datetime.diff
编辑:但您也可以将问题更多地转移到数据库端,例如通过在表中存储过期日期/时间然后执行查询… WHERE key =’7gedufgweufg’AND expires< Now()许多rdbms对日期/时间算法有合理/良好的支持.