美文网首页
mysql时区问题

mysql时区问题

作者: zjkdifvpwlkqumn | 来源:发表于2020-12-16 21:31 被阅读0次

前提背景1.mysql-connector-java的版本号8.0.21

1.在北京时间【Thu Dec 16 19:25:46】---timestamp【1608117946】往表里面插进一条时间数据,
jdbc参数serverTimezone=Asia/Shanghai
2.建立DTO,属性为Date的类型 【LocalDateTime的数据类型的话,值是一直不变】
3.从表里查那个时间数据

结果

1.设置jdbc参数serverTimezone=UTC
查出来的结果是【Thu Dec 17 03:25:46】【时区为北京时区】

2.设置jdbc参数serverTimezone=IST
查出来的结果是【Wed Dec 16 21:55:46】【时区为北京时区】

3.设置jdbc参数serverTimezone=Asia/Shanghai
查出来的结果是【Thu Dec 16 19:25:46】 【时区为北京时区】

个人猜测

mysql存储到硬盘的时间为时间戳【1608117946】
再根据serverTimezone的时间转为需要的时间。

serverTimezone的取值规律

1.先取jdbc:mysql://localhost:3306/***?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=UTC
上serverTimezone的值
2.取mysql实例上time_zone的值
3.但是如果time_zone的值是SYSTEM ,那就取mysql实例上system_time_zone 的值
源码【版本号8.0.21】出处:类:com.mysql.cj.protocol.a.NativeProtocol #方法->configureTimezone
源码【版本号5.1.41】出处:类:com.mysql.jdbc.ConnectionImpl #方法->configureTimezone

时间转换问题

java的mysql驱动把timetsamp和datetime都转了
navicat的timestamp转,datetime没转

 set  time_zone = '+6:00';

SELECT * FROM user;

show VARIABLES like '%zone%';

user下分别有一个timestamp的数据和datetime的数据,测试一下就知道了
个人猜测
timestamp是mysql转的
datetime是java驱动转的

相关的链接

http://www.cocoachina.com/articles/52294
https://blog.csdn.net/ysy950803/article/details/88578892
https://juejin.cn/post/6844903476225376264

相关文章

  • mysql时区问题

    mysql时区问题 查询mysql时区 我在使用mysql时,与实际的时间相差了8小时 通过命令查出mysql的时...

  • mysql 时间总结

    本文包含如下问题: 1 mysql如何参看时间 2 mysql如何查看当前时区 3 mysql如何修改当前时区 4...

  • The server time zone value 'Öйú

    mysql默认服务器时区问题:修改jdbc:mysql://localhost:3306/test?useUnic...

  • mysql时区问题

    前提背景1.mysql-connector-java的版本号8.0.21 1.在北京时间【Thu Dec 16 ...

  • mysql 时区问题

    问题 插入时间到数据库中,会少13个小时(有时候是11个小时) 读取出来,则会自动加上少了的时间,读到的Date对...

  • Mysql时区问题

    MySQL默认时区为UTC,我们属于东八区时间,和UTC存在八个小时时差。在做时间相关操作的时候,会出现不一致问题...

  • MySQL时区问题

    今天遇到一个很奇怪的问题,在代码里面通过MyBatis 能查询到今天的数据,但是将打印的SQL放到DataGrip...

  • mysql的时区错误问题: The server time zo

    mysql的时区错误问题: The server time zone value 'Öйú±ê׼ʱ¼ä' i...

  • MySQL数据库修改时间、时区

    MySQL数据库修改时间、时区 mysql默认使用的SYSTEM时区,即EST时区,查询相关资料可知,EST时区要...

  • 开发工具箱

    1、 IDE连接MySQL时区问题: 解决方案:URL后面添加

网友评论

      本文标题:mysql时区问题

      本文链接:https://www.haomeiwen.com/subject/hamogktx.html