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
- [55] IOS安全–浅谈关于IOS加固的几种方法
- [53] android 开发入门
- [52] 如何拿下简短的域名
- [52] 图书馆的世界纪录
- [50] Oracle MTS模式下 进程地址与会话信
- [50] Go Reflect 性能
- [48] 【社会化设计】自我(self)部分――欢迎区
- [47] 读书笔记-壹百度:百度十年千倍的29条法则
- [37] 程序员技术练级攻略
- [27] 视觉调整-设计师 vs. 逻辑