PHP and MySQL timezone 时区
PHP
- 查看当前php的时区
$ php -r 'echo date_default_timezone_get() . "\n";'
UTC
- 更改php时区设置,在使用date函数格式化输出依赖时区设置
- 修改ini文件
$ php --ini
....
Loaded Configuration File: /usr/local/etc/php/php.ini
....
$ sed -i -E 's!;date.timezone =!date.timezone = Asia/Shanghai!' /usr/local/etc/php/php.ini
- 在程序文件中调用
date_default_timezone_set('Asia/Shanghai');函数
MySQL
当使用时间字段TIMESTAMP类型存储时,mysql会自动将转换成UTC进行存储,在读取的时候只与会话的time_zone设置有关。
-
查看当前时区设置
SHOW VARIABLES LIKE "%time_zone%"; -
查看全局时区设置
SHOW GLOBAL VARIABLES LIKE "%time_zone%";
参考资料
https://www.php.net/manual/zh/timezones.php https://dev.mysql.com/doc/refman/8.0/en/datetime.html