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)
?
答案 0 :(得分:3)
时区的问题在于您的服务器无法确定用户的位置。即使是浏览器也没有可靠的方法来确定这一点,尽管它更适合猜测。当您必须应对本质上未知的服务器时间
时,问题会更严重因此,对于您的服务器端,将所有日期和时间转换为UTC。以UTC进行所有服务器操作。
当您向用户显示时间时,转换为他们的本地时区(通过询问他们找到它们!),或者以UTC格式将时间发送到浏览器并让浏览器进行转换,或者让浏览器在首次连接到站点时提供其时区,并使用该信息转换输出时间。
其中,第一个选项是最可靠的,但您的网站可能无法接受。选项2和3依赖于浏览器本地用户设置的配置数据。