mysql时间保存差13个小时

阅读: 评论:0

mysql时间保存差13个小时

mysql时间保存差13个小时

问题:mysql时间保存到数据库中与当前时间相差13个小时,查询出来又显示正常
环境:
  • spring-boot
  • mysql驱动&#sql.cj.jdbc.Driver
  • mysql版本:5.7
分析
  1. 集成mysql-plus,怀疑是自动填充出问题,设置new Date()没问题,sql语句没问题
  2. 数据库时区: show variables like "%time_zone%";
  3. 查询出来显示正常
解决

的区别就是:驱动需要指定时区:serverTimezone

# 在数据库连接池中指定时区
url: jdbc:mysql://172.17.60.159:3306/youbetter?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false&serverTimezone=GMT%2B8
思考
  • 时区检查:CTS,但是CTS有四种定义
美国中部时间 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
另外:美国从“3月11日”至“11月7日”实行夏令时,美国中部时间改为 UTC-05:00,与 UTC+08:00 相差 13 小时
  • JDBC时区协调
    mysql驱动向数据插入数据时,需要将应用的时间修改为数据库所在时区的时间,查询时再将数据库存储的时间转换为web服务器所在时区的时间
    代码:
    参考:> .html

本文发布于:2024-01-28 05:07:23,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17063896495002.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:小时   时间   mysql
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23