php中设置时区 您所在的位置:网站首页 php设置时区3 php中设置时区

php中设置时区

2023-08-20 04:18| 来源: 网络整理| 查看: 265

设置时区: 1. 在 php.ini 配置文件更改date.timezone = PRC 2. bool  date_default_timezone_set("PRC")   设定用于一个脚本中所有日期时间函数的默认时区;  string date_default_timezone_get()   取得一个脚本中所有日期时间函数所使用的默认时区; 3. string ini_set('date.timezone','PRC')   ;  string ini_get ( string $varname )  Gets the value of a configuration option  Returns the value of the configuration option as a string on success, or an empty string on failure or for null values.

 

可以在 php.ini 下设置 date.timezone 键的值为 'Asia/Shanghai' 即可。但是通常共享虚拟主机本身没有修改 php.ini 权限。这个时候就应该在程序公共部分加入

ini_set('date.timezone','Asia/Shanghai');

PHP 5.1 以上提供了专门的函数修改对应的时区:

date_default_timezone_set('Asia/Shanghai');

 

对应 'Asia/Shanghai' 其他可以使用的大陆时区还有:Asia/Chongqing 、Asia/Shanghai 、Asia/Urumqi (依次为重庆,上海,乌鲁木齐);港台地区可用:Asia/Macao、Asia/Hong_Kong、Asia/Taipei(依次为澳门,香港,台 北);还有新加坡:Asia/Singapore;其他可用的值是:Etc/GMT-8、Singapore、Hongkong、PRC;老外好像把北京 漏调了。

 

考虑是否是数据库的问题。果不其然,因为程序插入的函数并没有调用 PHP 的时间,而是直接使用 MySQL 的 CURRECT_TIMESTAMP。这个时候就要考虑是否能修改 MySQL 方面的时区。

参考了 MySQL 的文档,发现一个可行的 SQL 语句为:

SET GLOBAL time_zone = '+8:00';

其中 '+8:00' 是东八区的表示方法,其他的市区依次类推。而我在数据库模型中插入改语句发现权限不够(该死的虚拟主机提供商)。接下来我调试了很多语句,比如:

DATE_ADD(UTC_TIMESTAMP(), INTERVAL 8 HOUR);

显示时区的 SQL 语句:

SHOW VARIABLES LIKE 'system_time_zone'

 

让 PHP 插入当前正确的时间,这样虽然程序方面需要做相应的修改。不过日后配置修改起来只要修改一处就可以了。最后插入数据库的时间注意一下格式:

date('Y-m-d H:i:s')这样就可以解决问题了。附,一些非常好的参考资料:

这样就可以解决问题了。附,一些非常好的参考资料:

http://www.modwest.com/help/kb6-256.html

http://topic.csdn.net/t/20060503/07/4728521.html

http://www.phpchina.com/5173/viewspace_5132.html



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有