今天在使用后台接口时,发现前端数据库的时间少了8小时,所以引发了一系列的接口问题。
- 查看了数据库连接url地址,是GMT+8(东八时区),应该没有问题。
然后,我以为时数据库时间和系统时间不一致导致的,所以查询数据库时间,是系统操作时间。
SHOW VARIABLES LIKE'%time_zone'
- 接着,以为是docker时区不对,所以去了docker查询时间,发现时间也是北京时间。
- 正当我百思不得其解的时候,打了个断点调试,发现后台查询的时间是对的,是前端表现数据少了8小时,我就明白了,应该是springboot转换时候使用了UTC时间,所以设置了application.yml文件,配置jackson时区为GMT+8
spring:
jackson:
time-zone: GMT+8
OK,之后测试发现问题解决,希望大家遇到类似的问题,也先考虑各个容器的时区是否正确,一步步判断下去,自然而然的就迎刃而解了。