sql打印的时间和数据库里面存储的时间不一致问题
问题描述:
在项目操作过程发现了一个时区的问题,问题现象为sql打印的时间和数据库里面存储的时间不一样。后来发现问题原因为mysql的时区为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
修改mysql的时区也有两种方式
- 通过客户端连接mysql,通过命令设置时区
可以先查看当前时区:show variables like ‘%time_zone%’;
mysql> show variables like '%time_zone%';
进行修改
set global time_zone = ‘+8:00’; (修改mysql全局时区为北京时间,也就是我们所在的东8区)
set time_zone = ‘+8:00’; (修改当前会话时区)
flush privileges; (立马生效)
- 当然,也可以通过修改配置文件(my.cnf)的方式来实现配置,不过需要重启服务。
在[mysqld]区域中加上
vim /etc/my.cnf
default-time_zone = '+8:00'
重启mysql使新时区生效
/etc/init.d/mysqld restart
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具