mysql中的CST时区问题
2021/9/26 19:11:02
本文主要是介绍mysql中的CST时区问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在项目操作过程发现了一个时区的问题,问题现象为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
由于CST存在歧义,所以导致java通过jdbc去获取时区的时候,就会出现问题,通常会把CST解析为GTM+3时区。
这个时候,通常有两个解决办法:
1.修改mysql的设置,把mysql的时区设置为UTC或+8:00
修改mysql的时区也有两种方式
1)通过客户端连接mysql,通过命令设置时区
可以先查看当前时区:show variables like '%time_zone%';
确认时区为CST后再进行修改:set time_zone='+8:00';
2)修改my.cnf文件,再mysqld设置项下添加default-zone-time='+8:00'
2.修改jdbc连接设置,直接把连接的时区固定死,绕开mysql本身的时区。
就是在jdbc连接配置上添加以下两个配置即可:
useTimezone=true&serverTimezone=GMT%2B8
分别为启用时区设置和设置连接服务的时区。
此时,jdbc操作都会使用自定义时区去进行时间处理。
————————————————
版权声明:本文为CSDN博主「郭罗氏」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ljj125896/article/details/89156157
这篇关于mysql中的CST时区问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-02MySQL 3主集群搭建
- 2024-12-25如何部署MySQL集群资料:新手入门教程
- 2024-12-24MySQL集群部署资料:新手入门教程
- 2024-12-24MySQL集群资料详解:新手入门教程
- 2024-12-24MySQL集群部署入门教程
- 2024-12-24部署MySQL集群学习:新手入门教程
- 2024-12-24部署MySQL集群入门:一步一步搭建指南
- 2024-12-07MySQL读写分离入门:轻松掌握数据库读写分离技术
- 2024-12-07MySQL读写分离入门教程
- 2024-12-07MySQL分库分表入门详解