PHP时间之前(返回错误的时间)

时间:2017-12-21 10:05:53

标签: php mysql time

很长一段时间以来,我一直在努力time ago功能。基本上我将帖子/评论存储在日期为timestamp的mysql数据库中。稍后,我想显示添加的时间,例如53 minutes ago

我将用户时区存储到mysql数据库中,我希望使用用户的时区显示此time ago函数。

但是,我的函数返回错误的值,例如 - 我住在UTC + 2,我国的时间是11:54。如果我添加新帖子,并检查数据库,帖子添加的时间是11:54,但是当我想要显示时间之前(需要10秒前),它会显示添加的1 hour, 59 minutes, 50 seconds ago并且像{{ 1}}。

Car paradise screenshot - red box

获取时区功能

1 hour, 56 minutes, 26 seconds ago

调用time_elapsed函数

if(isset($userRow['timezone'])) {
    date_default_timezone_set($userRow['timezone']);
}elseif(isset($_COOKIE['timeZone'])) {
    date_default_timezone_set($_COOKIE['timeZone']);
}

time_elapsed函数

<?php echo $user->time_elapsed($datevariable); ?>

1 个答案:

答案 0 :(得分:1)

可能发生的情况是PHP使用的是默认时区,保存在php.ini文件date.timezone上。您可以使用phpinfo();查看并查找date.timezone。您可能需要在那里进行更改。

如果您需要,可用时区:PHP timezones