PHP

  1. 查看当前php的时区
$ php -r 'echo date_default_timezone_get() . "\n";'
UTC
  1. 更改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设置有关。

  1. 查看当前时区设置SHOW VARIABLES LIKE "%time_zone%";

  2. 查看全局时区设置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