php时间2小时错误,只有50%的用户

时间:2012-11-04 09:54:20

标签: php

我在php时间遇到了很多问题。

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

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

两台PC都在国内(英国),两台PC都有相同的系统时间等。

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

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

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

1 个答案:

答案 0 :(得分:0)

作为一种解决方法,让我解释一下:有些用户可以获得合适的时间,有些用户可以获得-2h。如果我们在文件中记录最后一次,并且下次用户打开页面,我们检查$ now是否小于$ last_time,如果是,我们加2小时!让我用数字来解释一下,User1访问了该页面,它返回了正确的小时,​​让我们说11 AM。 User2打开页面,它返回9AM,显然我们不能在时间返回,所以我们加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);
?>

希望这有用!