Php 跟踪用户登录的时间
我目前正试图找出如何计算用户登录我的网站的时间,然后显示时间Php 跟踪用户登录的时间,php,html,session,cookies,time,Php,Html,Session,Cookies,Time,我目前正试图找出如何计算用户登录我的网站的时间,然后显示时间 本质上,当用户登录时,我需要一种方法来记录他们登录的时间,然后在我网站的另一个页面上,我想向他们显示他们登录的时间。我将如何使用cookie或会话变量来执行此操作?我会将他们登录的时间存储为会话变量,如 $_SESSION['loginTime'] = new DateTime(date('y-m-d h:m:s')); 然后用diff计算差值 获取当前时间 $difference= $_SESSION['loginTime']-&
本质上,当用户登录时,我需要一种方法来记录他们登录的时间,然后在我网站的另一个页面上,我想向他们显示他们登录的时间。我将如何使用cookie或会话变量来执行此操作?我会将他们登录的时间存储为会话变量,如
$_SESSION['loginTime'] = new DateTime(date('y-m-d h:m:s'));
然后用diff
计算差值
获取当前时间
$difference= $_SESSION['loginTime']->diff(new DateTime(date('y-m-d h:m:s')));
然后您可以使用这些方法输出时间
echo $difference->y; //return the difference in Year(s).
echo $difference->m; //return the difference in Month(s).
echo $difference->d; //return the difference in Day(s).
echo $difference->h; //return the difference in Hour(s).
echo $difference->i; //return the difference in Minute(s)
echo $difference->s; //return the difference in Second(s).
我会将他们登录的时间存储为会话变量,如
$_SESSION['loginTime'] = new DateTime(date('y-m-d h:m:s'));
然后用diff
计算差值
获取当前时间
$difference= $_SESSION['loginTime']->diff(new DateTime(date('y-m-d h:m:s')));
然后您可以使用这些方法输出时间
echo $difference->y; //return the difference in Year(s).
echo $difference->m; //return the difference in Month(s).
echo $difference->d; //return the difference in Day(s).
echo $difference->h; //return the difference in Hour(s).
echo $difference->i; //return the difference in Minute(s)
echo $difference->s; //return the difference in Second(s).
假设您使用的是php,您将使用当前时间设置会话值,然后在另一个页面(显示时间的页面)上从该会话变量中检索该值。 登录时
session_start(); //immediately after <?php tag
$_SESSION ['timer'] = time();
别忘了
session_start();
在使用会话数据的每个页面上的php开始标记之后 假设您使用的是php,您将使用当前时间设置会话值,然后在另一个页面(显示时间的页面)上从该会话变量中检索该值。 登录时
session_start(); //immediately after <?php tag
$_SESSION ['timer'] = time();
别忘了
session_start();
在使用会话数据的每个页面上的php开始标记之后 好的,我试过了。所以在我登录的页面上,我有$_SESSION['loginTime']=newdatetime(date('y-m-dh:m:s');我希望总的登录时间出现在这个页面上,剩下的时间(减去几年、几个月和几天的回音)我一定是做错了什么,似乎没有正确计算时间。有时它上升30秒或更多,然后开始倒退。知道我哪里出错了吗?
DateTime(date('y-m-dh:I:s')
好的,我试过了。所以在我登录的页面上,我有$_SESSION['loginTime']=newdatetime(date('y-m-dh:m:s');我希望登录的总时间出现在页面上,剩下的时间我都有(减去几年、几个月和几天的回音)我一定是做错了什么,它似乎没有正确地计算时间。有时它会上升30秒或更多,然后开始倒退。你知道我哪里出错了吗?DateTime(date('y-m-dh:I:s')
如果你需要天/月/年,你可以使用echo(time()-$\u SESSION['timer'))
秒,回音数字格式(time()-$会话['timer'])/60,2);
分钟,小数点后两位,回音数字格式(time()-$会话['timer'])/3600,2)代码>以小时为单位,小数点后2位,等等。除非您将会话到期时间设置为超过Windows的默认寿命,否则我看不出将其转换为datetime并使用该对象的意义-您的用户真的会让浏览器窗口打开数月吗?这就是我坚持使用时间戳的原因。如果需要天/月/年,可以使用echo(time()-$\u SESSION['timer'])代码>秒,echo number_格式(time()-$_SESSION['timer'])/60,2)代码>分钟,小数点后两位,回音数字格式(time()-$会话['timer'])/3600,2)代码>以小时为单位,小数点后2位,等等。除非您将会话到期时间设置为超过Windows的默认寿命,否则我看不出将其转换为datetime并使用该对象的意义-您的用户真的会让浏览器窗口打开数月吗?这就是我坚持使用时间戳的原因。