问题:当Java程序按照当前时间生成数据后写入MySQL数据库时,通过SQL语句查询出的时间比插入的时间减少了8小时.
原因:
Application.yml配置文档中:
jdbc:mysql://数据库IP:端口号/数据库名?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF8
此时默认写入的是UTC时间,如果需要国内时间则改为:Asia/Shanghai即可:
jdbc:mysql://数据库IP:端口号/数据库名?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF8
参考文献:https://www.cnblogs.com/ibowen/p/13176703.html