在项目操作过程发现了一个时区的问题,问题现象为sql打印的时间和数据库里面存储的时间不一样。后来发现问题原因为mysql的时区为CST。网上搜索了下CST时区,才发现这个时区已经被诟病已久。它居然能够表示四种时区,分别为:

1.美国中部时间 Central Standard Time (USA) UTC-06:00

2.澳大利亚中部时间 Central Standard Time (Australia) UTC+09:30

3.中国标准时 China Standard Time UTC+08:00

4.古巴标准时 Cuba Standard Time UTC-04:00

修改mysql的时区也有两种方式

  1. 通过客户端连接mysql,通过命令设置时区
    可以先查看当前时区:show variables like ‘%time_zone%’;
 mysql> show variables like '%time_zone%';

在这里插入图片描述

  1. 当然,也可以通过修改配置文件(my.cnf)的方式来实现配置,不过需要重启服务。
# vim /etc/my.cnf ##在[mysqld]区域中加上
default-time_zone = '+8:00'
# /etc/init.d/mysqld restart ##重启mysql使新时区生效

更多推荐