php date时间本地化问题 或是date函数时差问题的解决
2010-05-20 11:17
483 查看
公司反应耐飞家教和兼职后台显示的时间跟实际注册的时间相差8小时。
发现时间一直对不上,date("Y-m-d h:i:s") 总是与服务器时间差8个小时.后来发现,我现在的机器上的php是5.14的.
原来从php5.1.0开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的
也就是显示的时间(无论用什么php命令)都是格林威治标准时间
和我们的时间(北京时间)差了正好8个小时
解决方法:
方法一:
在程序中加入:
date_default_timezone_set ("Asia/Sanghai"); 这样搞定了.
方法二( 我就用了此方法解决):
能修改php.ini。打开php.ini查找date.timezone 去掉前面的分号
= 后面加XXX(见下面,如:= Etc/GMT-8),重启http服务(如apache2或iis等)即可
PHP的时区环境通过一组特定的字符串指定。参见PHP所支持的时区列表。
最省事的办法是在php.ini文件中找到date.timezone一行,默认情况下这一行是被注释掉的,删掉前面的分号即可启用。对于中国大陆,可把它设置为Etc/GMT-8(或Asia/Sanghai、Asia/Chongqing、Asia/Urumqi、PRC)。
如果由于某种原因不能修改php.ini,可以在PHP程序里用date_default_timezone_set()设置。例如,可以在使用date函数前先执行date_default_timezone_set('Etc/GMT-8')。
我个人认为还是采用date_default_timezone_set函数比较好。一是通用性强,二来如果你的网站是面向全球用户的,这种方法可以让每个用户都能设置他所在的时区。
最后需要说明的是对于Etc/GMT这种写法。中国大陆采用的是东八区的时间,一般情况下都是记作+8,但PHP里来了个大反个儿,要写成Etc/GMT-8;相反地,如果你的时区是西2区,在PHP里就要写成Etc/GMT+2。这一点和常识不同,尤其要注意。
发现时间一直对不上,date("Y-m-d h:i:s") 总是与服务器时间差8个小时.后来发现,我现在的机器上的php是5.14的.
原来从php5.1.0开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的
也就是显示的时间(无论用什么php命令)都是格林威治标准时间
和我们的时间(北京时间)差了正好8个小时
解决方法:
方法一:
在程序中加入:
date_default_timezone_set ("Asia/Sanghai"); 这样搞定了.
方法二( 我就用了此方法解决):
能修改php.ini。打开php.ini查找date.timezone 去掉前面的分号
= 后面加XXX(见下面,如:= Etc/GMT-8),重启http服务(如apache2或iis等)即可
PHP的时区环境通过一组特定的字符串指定。参见PHP所支持的时区列表。
最省事的办法是在php.ini文件中找到date.timezone一行,默认情况下这一行是被注释掉的,删掉前面的分号即可启用。对于中国大陆,可把它设置为Etc/GMT-8(或Asia/Sanghai、Asia/Chongqing、Asia/Urumqi、PRC)。
如果由于某种原因不能修改php.ini,可以在PHP程序里用date_default_timezone_set()设置。例如,可以在使用date函数前先执行date_default_timezone_set('Etc/GMT-8')。
我个人认为还是采用date_default_timezone_set函数比较好。一是通用性强,二来如果你的网站是面向全球用户的,这种方法可以让每个用户都能设置他所在的时区。
最后需要说明的是对于Etc/GMT这种写法。中国大陆采用的是东八区的时间,一般情况下都是记作+8,但PHP里来了个大反个儿,要写成Etc/GMT-8;相反地,如果你的时区是西2区,在PHP里就要写成Etc/GMT+2。这一点和常识不同,尤其要注意。
相关文章推荐
- php date时间本地化问题
- php date时间本地化问题
- php时区时间错误问题 date 当前时间 时差 当地 本地date_default_timezone_set
- PHP 获取当前时间以及解决PHP通过date()函数取得时间错误问题
- php date时间本地化问题(转)
- php date('Y-m-d H:i:s',time())获取时间不对问题解决
- php 2038 时间 time() date() 问题
- PHP5.1时间相差8小时问题解决。
- PHP大于2038年时间戳的问题解决办法
- 解决jquery的datepicker的本地化以及Today问题
- php解决服务器美国时间的问题
- 新版 PHP date函数 设置时间与电脑系统时间相差8小时的 解决方法
- 解决 SharePoint 2010 外部列表时间字段出现时差的问题
- php解决时间不正确问题,设置中国时区
- php中时差问题的解决方法
- PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
- php 中date显示时间不对与Linux文件乱码问题
- 解决:My97DatePicker 日期插件引用在PHP文件中maxDate和minDate控制失效问题
- PHP中date时间不对的问题
- PHP中date函数时间本地化解决方案