Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP获取用户';s当地格林尼治标准时间_Php_Datetime_Gmt - Fatal编程技术网

PHP获取用户';s当地格林尼治标准时间

PHP获取用户';s当地格林尼治标准时间,php,datetime,gmt,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)?时区的问题是服务器无法可靠地确定用户的位置。即使是浏览器也没有可靠的方法来确定这一点,尽管它更适合猜测。当您必须处理本质上未知的服务器时间时,问题就更糟了 因此

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)

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

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

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


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

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

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

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


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

检查关于时区的文档检查关于时区的文档编号2。我将以UTC进行所有计算,以javascript可解析格式输出,封装在带有可识别类的范围内,并让javascript将时间转换为用户的区域设置。或者,如果是登录站点,让javascipt在submit上插入一个隐藏的时区字段,并将其存储在会话中。我将以UTC进行所有计算,以javascript可解析格式输出,封装在带有可识别类的范围内,并让javascript将时间转换为用户的区域设置。或者,如果是登录站点,则让javascipt在submit上插入一个隐藏的时区字段,并将其存储在会话中。