关于php时区时间错误问题
http://czy4411741.blog.163.com/blog/static/342031272008123115233915/
从php5.1.0开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的
也就是显示的时间(无论用什么php命令)都是格林威治标准时间
和我们的时间(北京时间)差了正好8个小时,有以下3中方法可以恢复正常的时间。
1,最简单的方法就是不要用php5.1以上的版本
2,如果一定要用,而且不能修改php.ini,则需要在关于时间的初始化的语句的
上面加上 date_default_timezone_set (XXX);
cp无此问题
3,一劳永逸,仅限能修改php.ini。打开php.ini查找date.timezone 去掉前面的分号
= 后面加XXX,重启http服务(如apache2或iis等)即可
关于XXX,大陆内地可用的值是:Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次为重庆,上海,乌鲁木齐)
港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北)
还有新加坡:Asia/Singapore
老外好像把北京漏调了
其他可用的值是:Etc/GMT-8 ,Singapore ,Hongkong ,PRC
PRC是什么?PRC是中华人民共和国啊-_-
---------------------------------------------------------------------------------------------------------------------
解决方式:
在页头使用date_default_timezone_set()设置我的默认时区为北京时间
date_default_timezone_set('PRC');
echo date('Y-m-d H:i:s');
时间和服务器当前时间一样了!!祝贺之
附date_default_timezone_set用法如下
--------------------------------
date_default_timezone_set
(PHP 5 >= 5.1.0RC1)date_default_timezone_set -- 设定用于一个脚本中所有日期时间函数的默认时区
说明
bool date_default_timezone_set ( string timezone_identifier )
date_default_timezone_set() 设定用于所有日期时间函数的默认时区。
注: 自 PHP 5.1.0 起(此版本日期时间函数被重写了),如果时区不合法则每个对日期时间函数的调用都会产生一条 E_NOTICE 级别的错误信息。
参数
timezone_identifier
时区标识符,例如 UTC 或 Europe/Lisbon
返回值
本函数永远返回 TRUE(即使 timezone_identifier 参数不合法)。
------------------------------------------------------------------------------------------
再附上时区标识符:
CET
CST6CDT
Cuba
EET
Egypt
Eire
EST
EST5EDT
Etc/GMT
Etc/GMT+0
Etc/GMT+1
Etc/GMT+10
Etc/GMT+11
Etc/GMT+12
Etc/GMT+2
Etc/GMT+3
Etc/GMT+4
Etc/GMT+5
Etc/GMT+6
Etc/GMT+7
Etc/GMT+8
Etc/GMT+9
Etc/GMT-0
Etc/GMT-1
Etc/GMT-10
Etc/GMT-11
Etc/GMT-12
Etc/GMT-13
Etc/GMT-14
Etc/GMT-2
Etc/GMT-3
Etc/GMT-4
Etc/GMT-5
Etc/GMT-6
Etc/GMT-7
Etc/GMT-8
Etc/GMT-9
Etc/GMT0
Etc/Greenwich
Etc/UCT
Etc/Universal
Etc/UTC
Etc/Zulu
Factory
GB
GB-Eire
GMT
GMT+0
GMT-0
GMT0
Greenwich
Hongkong
HST
Iceland
Iran
Israel
Jamaica
Japan
Kwajalein
Libya
MET
MST
MST7MDT
Navajo
NZ
NZ-CHAT
Poland
Portugal
PRC
PST8PDT
ROC
ROK
Singapore
Turkey
UCT
Universal
UTC
W-SU
WET
分享到:
相关推荐
通过本文介绍的方法,我们可以有效地解决服务器端世界时间(UTC)转换到客户端时区时间的问题。这不仅提高了用户体验,还确保了应用在处理多时区场景下的准确性。在实际开发过程中,开发者可以根据自己的需求调整上述...
Java时区时间转换是指将一个时区的时间转换成另一个时区的时间,这个过程需要了解时区的概念和计算方法。在本文中,我们将详细介绍时区的概念、UTC时间、格林尼治时间、夏令时、区时转换等知识点,并提供Java代码...
PHP 时区列表[时差] 数据库内容依据,PHP手册(2011-04-18)...在“时差”中,指的是,设定时区与格林威治时间(GMT)的差别。 关于PHPzone,认真、固执、盲目。 wangyouworld wangyouworld#163.com(#=@) 2011-06-24
车机导航时间时区错误修正,修复车机上时区错误,导致的高德导航时间错误
在JavaScript(JS)编程中,处理世界时区...以上就是关于“JS世界时区时间代码.zip”文件涉及的主要JavaScript时间和时区处理知识点。理解和掌握这些概念,能帮助开发者创建出能够适应全球用户的动态时区时间显示功能。
`Tools`标签可能指的是用于处理时区问题的各种工具或库,例如使用`zdump`命令行工具检查不同时区的时间转换,或者利用Java的`SimpleDateFormat`和`Calendar`类进行日期时间格式化和计算。开发者也可以使用`java.time...
Android 完美获取手机当前时区,解决时间偏移量和夏令时差问题.从本地时间里扣除这些变量,即可以取得UTC时间
Linux 系统中时区和时间的修改 Linux 系统中,时区和时间的正确设置对于系统的运行和维护至关重要。本文将详细介绍 Linux 系统中时区和时间的修改方法。 一、修改时区 时区的设置对系统的时间戳和日期的正确性...
在IT行业中,服务器时区错误是一个常见的问题,尤其是在配置数据库连接时。此问题涉及到服务器、数据库管理系统(如MySQL)以及时间区域设置。本篇将详细解释这个问题,提供解决方案,并探讨与之相关的技术知识点。 ...
Android 完美获取手机当前时区,解决时间偏移量和夏令时差问题.从本地时间里扣除这些变量,解决时间偏移量和夏令时差问题.从本地时间里扣除这些变量,
在开发Web应用时,处理时间与时区的问题是常见的挑战,尤其当用户分布在世界各地时。JavaScript作为客户端的主要脚本语言,对于解决此类问题至关重要。jQuery,一个广泛使用的JavaScript库,可以进一步简化操作。...
再查看宿主机时间是正确,这样肯定是容器启动时未将时区与宿主机保持同步了,由于测试镜像是由dockfile直接构建,因此问题基本了定准在dockerfile文件上了。 打开dockerfile检查后发现确实确失与宿主机时区同步设置...
为了解决 KETTLE 时间与系统时间不一致的问题,可以在 KETTLE 安装路径下找到 Spoon.bat,并将时区改为北京时间。具体来说,就是在 Spoon.bat 文件中添加以下代码: set OPT=-Xmx256m -cp %CLASSPATH% -Djava....
在使用计算机时,有时会遇到一些与时间管理相关的困扰,比如无法修改系统时区、虚拟机中的时区设置问题,以及像《炉石传说》这样的应用程序因时区未正确设置而导致的启动黑屏等问题。"修复系统时间的时区.reg"文件...
用户的测试机安装的win7,测试时发现时间总是差8个小时。 在win7下装JDK1.4和JDK1.5、eclipse,输出系统时区和时间。...导入本压缩包中国时区注册表.reg 解决2003 WIN7 时区问题。 再有疑问联系,CSDN:lawsystem
这样做是因为即使服务器和数据库时间设置正确,如果JRE的默认时区没有调整,那么在Java代码中直接获取当前时间(如`LocalDateTime.now()`)时,仍然可能出现时区错误的问题。 此外,连接URL中的其他参数也值得注意...
在Windows 7操作系统中,有时用户可能会遇到无法修改时间或时区的问题。这可能是由于系统设置、权限问题、注册表错误或系统文件损坏等多种原因造成的。"Time Zones.reg"文件通常是一个注册表导入文件,用于修复与...
Linux系统中设置和管理时区与时间是一项基础而重要的任务,尤其是在多用户环境中,或者涉及到跨时区的网络服务。下面详细介绍Linux下时区与...通过学习和掌握相关知识,可以有效地避免时区和时间设置错误带来的问题。
在Windows API中,用于管理时区的主要函数是`SetSystemTime()`,它允许程序更改系统的日期和时间。但在此之前,我们需要确保我们的进程有足够的权限去执行这个操作。在C#中,我们可以通过`TokenElevationType`枚举和...