3

我对 php 时间有很大的问题。

出于某种原因,它向某些用户显示不同的时间(2 小时),而向其他用户显示正确的时间。

代码是 H:i:s dMy T,当我从 PC 上的浏览​​器中查看页面时,它告诉我上午 11 点,实际上是上午 9 点,当我使用我的 RDP 通过浏览器检查时,我得到了正确的时间。

两台电脑都在国家(英国),两台电脑都具有相同的系统时间等。

尝试设置时区默认值,但无论我做什么,服务器仍然显示一些用户正确的时间,而其他用户的时间提前 2 小时,有什么想法吗?

代码是echo gmdate("H:i:s d-M-y T");

<?php echo gmdate("H:i:s d-M-y T"); ?>
4

1 回答 1

0

作为一种解决方法,让我解释一下:有些用户得到正确的时间,其他用户得到-2h。如果我们在文件中记录最后一次,并且下次用户打开页面时,我们检查 $now 是否小于 $last_time,如果是,我们添加 2 小时!让我用数字解释一下,User1 访问了该页面,它返回了正确的时间,比如说上午 11 点。用户2打开页面,返回上午9点,显然我们不能及时返回,所以我们增加了2个小时!

这里的代码:

<?php
$last_time = file_get_contents("file.txt"); // a file where the last time has been saved
$now = strtotime(gmdate("H:i:s d-M-y T")); // Now !
if($now < $last_time){
    $now += 7200; // add 2 hours !
}
file_put_contents("file.txt", $now);
echo gmdate("H:i:s d-M-y T", $now);
?>

希望这有帮助!

于 2012-11-04T10:58:15.350 回答