现象:

检查原因:
1.首先排除代码问题

2.检查运行环境问题

3.检查数据时区设置问题

。。。。问题来了,,,默认设置的是‘CST’时区,顺便科普下:
CST 时区
名为 CST 的时区是一个很混乱的时区,有四种含义:
美国中部时间 Central Standard Time (USA) UTC-06:00
澳大利亚中部时间 Central Standard Time (Australia) UTC+09:30
中国标准时 China Standard Time UTC+08:00
古巴标准时 Cuba Standard Time UTC-04:00
今天是“4月28日”。为什么提到日期?因为美国从“3月11日”至“11月7日”实行夏令时,美国中部时间改为 UTC-05:00,与 UTC+08:00 相差 13 小时。
解决办法:
解决办法也很简单,明确指定 MySQL 数据库的时区,不使用引发误解的 CST :
第一种
mysql> set global time_zone = '+08:00';
Query OK, 0 rows affected (0.00 sec)
mysql> set time_zone = '+08:00';
Query OK, 0 rows affected (0.00 sec)
第二种
修改 my.cnf 文件,在 [mysqld] 节下增加 default-time-zone = '+08:00' 。
修改时区操作影响深远,需要重启 MySQL 服务器,建议在维护时间进行。

效果:


网友评论