错误描述
记录登陆日志时需要保存登陆时间,我使用的是使用date获取系统时间,然后存到MySQL数据库,数据库中保存时间的字段类型为datetime。在进行数据存储操作后,查看数据库记录,发现时间与北京时间相差八小时!!!
如存入数据库时间

打印系统时间

错误查找
查看实体代码,打印使用date时的系统时间,与北京时间相同,那就是在使用mapping注解存入到数据库时出现的问题,一直百度都没有结果,整了两三个小时,偶然遇见这篇博客,才解决燃眉之急。
附链接:https://blog.youkuaiyun.com/anthony_1223/article/details/80474285
错误原因
我使用的是SSM框架,在连接数据库的文件中,使用的是如下描述
![]()
主要是时区问题,serverTimezone=UTC,将这个UTC改成serverTimezone=CTT即可,CTT(Asia&Shanghai)北京时间。
UTC:世界统一时间,世界标准时间,国际协调时间
在使用SSM框架进行项目开发时,遇到登录时间存入MySQL数据库后与北京时间相差八小时的问题。经过排查,发现是由于数据库连接配置中的时区设置为UTC导致。本文详细介绍了如何通过修改时区配置,将serverTimezone从UTC改为CTT(Asia/Shanghai),即北京时间,从而解决时间存储偏差。
5552

被折叠的 条评论
为什么被折叠?



