我怎样才能确保我在某个时间在PHP中发生某些事情,并且它发生在每个人的时区?

时间:2012-03-31 19:32:50

标签: php date time timezone

我已阅读许多不同的网站和许多不同的解决方案,这些解决方案涉及时区和服务器时间以及客户端/用户本地时间等,但没有人详细解释我正在尝试完成的这种确切情况。

我有这个PHP代码,使某些东西在某个日期和时间到期,并且它工作得很好,但它只会使内容在服务器时间到期。我希望它在所有时区到期时到那个时区。我不希望所有时区的内容同时过期。

所以让我说我希望在下午2点到期的时候到期,这是第一个到达下午2点的时区他们不应该看到过期的内容,但是剩下的时区应该仍然可以看到它。然后当第二时区到达下午2点时,该时区不应该看到内容。所以现在2个时区看不到内容,但剩下的时区仍然应该看到它。并且这一次持续一个时区,直到所有时区都在下午2点到达。

请告诉我如何调整此php以使上述情况发生。

<?php
$end_date = strtotime('02:00pm April 1, 2012');
$now = time();
if ($end_date < $now) {
?>
different content to display after date and time has arrived,
or don't put anything here if you just want expired content to disappear
and nothing else to take it's place.
<?php } else { ?>
content to display while the date and time hasn't arrived yet.
<?php } ?>

1 个答案:

答案 0 :(得分:0)

您需要的是<select>User please select your timezone</select>(一直到+12&lt;&gt; -12,该选项应该选择每个登陆您网站的用户 - 包括您 - 以实现类似的目标。

服务器不知道每个IP - 哪个用户在哪个区域,除非你以某种方式解决它。

您应该使用GMT时间,并开发用于处理用户(时区)输入的特殊功能。