springboot+mybatis+mysql,⽇期查询结果与数据库数据不⼀
致,相差13⼩时左右
今天发现⼀个神奇的问题,数据库中保存的⽇期与mybatis中查询出来得⽇期不⼀致,查出来的⽐数据库中的⽇期快了13个⼩时
给同事发送邮件时发现,报表中数据的时间有2021-04-21,但是我在mysql中查询结果时间都是2021-04-20的。给我惊讶的
刚开始以为是不是⽇期不是24⼩时制的,但是⼜不是查出来得结果也有21点的,然后查了资料发现是mysql的时区问题
mysql下载不了什么原因从上⽅两张图可以看出查出来的结果与库中保存的结果⾜⾜差了13个⼩时。
【mysql时区问题】解决⽅法:
⽅法⼀:对⽇期进⾏dateformat
⽇期查询sql时进⾏DATE_FORMAT(pay_date,'%Y-%m-%d %H:%m:%s')
这是dateformat后查出来的结果
⽅法⼆:设置数据库连接时区设置
在数据库连接后新增&serverTimezone=Asia/Shanghai/Asia/Hongkong即可
url: jdbc:mysql://localhost:3306/kyn?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&serverTimezone=Asia/Shanghai
这是设置后查出来的结果,但是发现这个⽅法⽇期后⾯多了个.0;
如何处理⽇期多出来的.0呢。最后的解决⽅法还是date_format.
遇到这个问题是个别项⽬,其他项⽬都是同⼀个库并且配置都⼀样,现在还是要出来为啥这个项⽬就跟库⾥保存的⽇期不⼀致的原因。到原因后更新此笔记。再见咯⼩伙伴们
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论