PHP获取用户的本地GMT

时间:2013-06-14 03:07:42

标签: php datetime gmt

PHP如何将语言环境GMT日期时间显示如下:

14/06/2013 10:38 (GMT+8)

目前,我的网站使用此格式显示日期时间,如:

14/06/2013 07:01:14 AM GMT+0400

我的托管服务提供商在欧洲,如果用户在日本浏览我的网站(+9:00),它怎么能显示为14/06/2013 10:38 (GMT+9)

1 个答案:

答案 0 :(得分:3)

时区的问题在于您的服务器无法确定用户的位置。即使是浏览器也没有可靠的方法来确定这一点,尽管它更适合猜测。当您必须应对本质上未知的服务器时间

时,问题会更严重

因此,对于您的服务器端,将所有日期和时间转换为UTC。以UTC进行所有服务器操作。

当您向用户显示时间时,转换为他们的本地时区(通过询问他们找到它们!),或者以UTC格式将时间发送到浏览器并让浏览器进行转换,或者让浏览器在首次连接到站点时提供其时区,并使用该信息转换输出时间。

其中,第一个选项是最可靠的,但您的网站可能无法接受。选项2和3依赖于浏览器本地用户设置的配置数据。