错误描述
记录登陆日志时需要保存登陆时间,我使用的是使用date获取系统时间,然后存到MySQL数据库,数据库中保存时间的字段类型为datetime。在进行数据存储操作后,查看数据库记录,发现时间与北京时间相差八小时!!!
如存入数据库时间
打印系统时间
错误查找
查看实体代码,打印使用date时的系统时间,与北京时间相同,那就是在使用mapping注解存入到数据库时出现的问题,一直百度都没有结果,整了两三个小时,偶然遇见这篇博客,才解决燃眉之急。
附链接:https://blog.csdn.net/anthony_1223/article/details/80474285
错误原因
我使用的是SSM框架,在连接数据库的文件中,使用的是如下描述
主要是时区问题,serverTimezone=UTC,将这个UTC改成serverTimezone=CTT即可,CTT(Asia&Shanghai)北京时间。
UTC:世界统一时间,世界标准时间,国际协调时间