gpt4 book ai didi

PHP date() 增加一个小时的返回值

转载 作者:行者123 更新时间:2023-12-04 09:32:06 25 4
gpt4 key购买 nike

我正在尝试显示用户登录的时间长度。除了一次之外,它可以正常工作。时间的小时部分从 1 而不是 0 开始。
这是PHP代码:

//Set the local timezone to GMT
date_default_timezone_set('Europe/London');

//Fetch the timestamp for when user logged in
$loggedins = $conn->query ("SELECT Last_Activity FROM students WHERE Full_Name = '$name'");
$loggedinr = $loggedins->fetch_assoc();
$dateloggedin = strtotime($loggedinr['Last_Activity']);

//Separate the time from the above
$timelogin = date("h:i:s", $dateloggedin);
$timenow = date("h:i:s");

//Work out the time spent logged in
$sessionlength = strtotime($timenow)-strtotime($timelogin);

$sessionlength = date("H:i:s", $sessionlength);
** 数据库中的Last_Activity列包含:2020-07-08 10:07:58
这是 HTML:
<p style="line-height: 40px">Session length: <b><?= $sessionlength?></b></p>
这是登录13分钟后页面显示的内容:
session 长度: 01:13:44
以下修正显示正确时间 (00:13:44)
$sessionlength = date("H:i:s", $sessionlength-3600); 
为什么要增加一个小时?任意 build 性 帮助将不胜感激。

最佳答案

我不知道为什么要增加一个小时,我认为 Siobham 的假设最有意义,我尝试将时区设置为简单的“欧洲”并打印正确的时间,但是如果我添加巴黎,它会增加一个小时。
这似乎是一个更可靠的解决方案

date_default_timezone_set('Europe/London');
$datetime1 = new DateTime('2020-07-08 10:07:58');//start time
$datetime2 = new DateTime($timenow);//end time
$interval = $datetime1->diff($datetime2);
echo $interval->format('%H:%I:%S');

关于PHP date() 增加一个小时的返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62791752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com