是否有一种简单直接的方法来查找开始日期之间的剩余时间 - 例如:2013-01-10 12:34:55
和 5 分钟后?
我的意思是我有开始日期,并想检查 5 或 60 分钟后的时差是否为 0。在服务器端检查一种超时。
你有 2 个日期,对吗?
$date1 = strtotime('2013-01-10 12:34:33'); // converto to time
$date2 = strtotime('2013-01-10 12:45:33'); // or else it won't work
$diff = date('u', $date1) - date('u', $date2); // the difference in seconds between the two
// if you want $date2 to be now, just use date('u')
if ($diff > 3600) { // an hour later
echo 'The difference between $date1 and $date2 is more than an hour';
}
如果您想为用户执行“会话超时”之类的操作。使用 Javascript setintervel() 并执行 ajax() 调用以从应用程序中注销用户。
好吧,似乎我走得更难了……发现从 sql 检查中获取它比在 php 中获取它更容易和更可靠。我已经成功地实现了这一点。把它留在这里以防万一它可能有用。
$query = "SELECT * FROM db_table
WHERE DATE_ADD(my_start_date, INTERVAL 5 MINUTE) > NOW()";
其中 5 是可以设置的时间间隔,单位为秒 (SECOND)、分钟 (MINUTE)、小时 (HOUR)、天 (DAY) 等。