易腾动力社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8737|回复: 0
打印 上一主题 下一主题

php更改默认时区,php date('Y-m-d H:i:s')

[复制链接]
跳转到指定楼层
楼主
发表于 2013-7-3 22:38:14 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
关于php时区错误问题
date( "Y-m-d   G:i   T ",time())   取出来的时间和本地时间老差8个小时,电脑系统确定是中国标准时(GMT+8),最后终于找到了问题所在:

原来从php5.1.0开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的
也就是显示的时间(无论用什么php命令)都是格林威治标准时间
和我们的时间(北京时间)差了正好8个小时,有以下3中方法可以恢复正常的时间。
由于程序最后还是会把地名转为时区来计算,所以当你使用的不是内置的区域的时候,程序将自动使用格林威治标准时间。
php5.2.4之前的版本无需设置默认的时区,使用date函数生成时间时自动根据所在时区创建时间,但最近发现在php5.2.4下生成时间的时区是GMT,而不是GMT+8,所以显示时间时会相差8个小时。
修改php环境默认时区有2个方法:
1、修改php.ini
打开php.ini文件,找到 date.timezone 那一行,去掉前面的“;” ,修改为你需要的时区,例如:date.timezone = Asia/Shanghai
关于date.timezone的取值
大陆内地可用的值是:Asia/Chongqing   ,Asia/Shanghai   ,Asia/Urumqi   (依次为重庆,上海,乌鲁木齐)
港台地区可用:Asia/Macao   ,Asia/Hong_Kong   ,Asia/Taipei   (依次为澳门,香港,台北)
还有新加坡:Asia/Singapore
其他可用的值是:Etc/GMT-8   ,Singapore   ,Hongkong   ,PRC
PRC是中华人民共和国
以上都是我从php官方说明档里整理出来的GMT-8下面的地区,可能会有遗漏
地址http://www.php.net/docs.php

2、使用php函数
如果你使用北京时间,就像这样就可以了。date_default_timezone_set("Asia/Shanghai");

注:确认修改正确的php.ini文件,通过phpinfo()可以查看php.ini文件所在的路径,修改php.ini文件后重启apache。

13位时间戳:number_format(microtime(true),3,'','')
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|易腾动力 ( 粤ICP备12094338号 )

GMT+8, 2025-5-4 14:13 , Processed in 0.050234 second(s), 18 queries .

Powered by Discuz! X3

© 2001-2024 Yidz Inc.

快速回复 返回顶部 返回列表