select unix_timestamp('2019-07-04 23:59:59');
这种语句转时间戳之后再转回时间时发现日期多了8小时
这问题的原因一般是因为mysql时区造成的,解决方法如下:
在mysql>或mysql工具中执行如下语句:
mysql > SET time_zone = '+8:00'; # 此为我们所在东8区
mysql> flush privileges; # 立即生效
或者:
mysql安装目录下my.cnf/my.ini的 [mysqld]下的第一行(和[mysqld]间不能有其他内容)中加上
default-time_zone = '+8:00'
一般由运维来作此更改
本文介绍了解决MySQL中使用UNIX_TIMESTAMP函数转换时间戳后再转回时间时出现8小时误差的问题。主要原因是MySQL的时区设置不当,提供了两种解决方法:一是通过SQL语句即时调整时区,二是修改配置文件my.cnf或my.ini中的默认时区。
1万+

被折叠的 条评论
为什么被折叠?



