0

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)

4

1 回答 1

3

时区的问题是您的服务器没有可靠的方法来确定您的用户在哪里。甚至浏览器也没有可靠的方法来确定这一点,尽管它更好地猜测。当您必须应对本质上未知的服务器时间时,问题会变得更糟

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

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

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

于 2013-06-14T03:17:12.027 回答