【发布时间】:2011-03-04 10:41:51
【问题描述】:
我在数据库中有一个日期时间类型的字段,我在其中添加用户访问页面的时间。当用户再次出现时,我想检查他第一次访问和当前访问之间的间隔。如果它小于或等于 1 小时,那么我想向他展示一些信息。 我是这样存储时间的
2011-03-04 00:25:01
我想问的是如何在 PHP 中检查间隔
【问题讨论】:
我在数据库中有一个日期时间类型的字段,我在其中添加用户访问页面的时间。当用户再次出现时,我想检查他第一次访问和当前访问之间的间隔。如果它小于或等于 1 小时,那么我想向他展示一些信息。 我是这样存储时间的
2011-03-04 00:25:01
我想问的是如何在 PHP 中检查间隔
【问题讨论】:
你可以试试
SELECT COUNT(@UserID) FROM table WHERE LastVisit > (DateADD(now(),interval -1 Hour))
然后你可以检查计数
编辑:添加 FROM 子句
【讨论】:
如果您的 PHP >= 5.3,您可以使用 DateTime 对象和函数:
$visit = DateTime::createFromFormat('Y-m-d H:i:s', '2011-03-04 00:25:01');
$now = new DateTime("now");
$diff = $now->diff($visit);
【讨论】:
您可以这样做,检索日期时间,将其存储在变量中。 使用 time() 创建一个 var。
然后您可以使用 strtotime() 将 db 日期时间转换为时间字符串
从新时间中减去 datetime 时间字符串。这应该会让你在几秒钟内有所不同。然后,您可以操纵您的值并进行相关检查。
$db = datetime_from_database;
$now = time();
$last = strtotime($db);
$diff = $now - $last; //这是以秒为单位的
你可以做类似的事情
$分钟 = $diff / 60;
If ($minutes > 60) echo '超过 1 小时; 60 分钟;
只要在里面工作。
然后您可以使用日期函数使用 $now 格式化新的日期时间并更新数据库。
【讨论】: