php5.1.* 的时区问题
在php5.1.*执行
| 以下是代码片段: <?php echo date(’Y-m-d H:i:s’); ?> |
结果是:2006-05-01 2:06:49
而当前时间是:2006-05-01 10:06:49
正好少了8个小时。
用
| 以下是代码片段: <?php echo date_default_timezone_get();?> |
得知时间格式是UTC。
两种解决方法:
1、在页头使用date_default_timezone_set()设置默认时区为北京时间
| 以下是代码片段: <?php date_default_timezone_set(’PRC’); echo date(’Y-m-d H:i:s’); ?> |
这样php显示的时间和服务器当前时间就一样了。
2、修改php.ini,设置
date.timezone = PRC
附date_default_timezone_set用法如下:
date_default_timezone_set
(PHP 5 >= 5.1.0RC1)
bool date_default_timezone_set ( string timezone_identifier )
设定用于所有日期时间函数的默认时区。
注: 自 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
Zulu
建议继续学习:
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:蒯义刚 来源: 蒯义刚::网志
- 标签: 时区
- 发布时间:2009-10-28 08:45:22
-
[903] WordPress插件开发 -- 在插件使用 -
[135] 解决 nginx 反向代理网页首尾出现神秘字 -
[56] 整理了一份招PHP高级工程师的面试题 -
[54] Innodb分表太多或者表分区太多,会导致内 -
[54] 如何保证一个程序在单台服务器上只有唯一实例( -
[52] 全站换域名时利用nginx和javascri -
[52] 海量小文件存储 -
[52] CloudSMS:免费匿名的云短信 -
[51] 用 Jquery 模拟 select -
[49] ps 命令常见用法
