[英]calculation comparing sql timestamp and php date(“y-m-d h:i:s”)
有没有办法查看是否在PHP中((当前时间-数据库中的时间戳)> 10分钟)? 我在名为锁定的数据库中有一行。 到目前为止,我有以下代码:
echo $row['lockout'];//returns 2013-05-12 22:04:17
echo date("Y-m-d H:i:s")//returns 2013-05-12 22:06:32
此外,还有人有什么主意,为什么当我在数据库中插入当前时间戳时,大约需要半个小时,但是日期和年份却正确?
在php中使用http://www.php.net/manual/zh-CN/book.datetime.php datetime类这具有diff方法
如果您的SQL方言是MySQL,请使用
... WHERE UNIX_TIMESTAMP(NOW())-lockout>=600 ...
或类似的PHP。
在您的查询中执行此操作:
WHERE `lockout` < DATE_SUB(NOW(), INTERVAL 10 MINUTE)
或者,如果您不能依靠MySQL的时间,请使用
mysqli_query('
... WHERE `lockout` < DATE_SUB(FROM_UNIXTIME(' . time() . '), INTERVAL 10 MINUTE) ...
');
或者,如果您必须使用date(...)
,请使用
mysqli_query('
... WHERE `lockout` < DATE_SUB(' . date('Y-m-d H:i:s') . ', INTERVAL 10 MINUTE) ...
');
您可能需要比较MySQL和PHP的时区以及服务器的时区(如果MySQL和PHP位于不同的主机上)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.