问题描述
在Springboot项目中,当我们把数据库中的时间类型查询出来后,通过JSON字符串后发给前端,前端收到数据再把时间戳转换回来的时候会发现得到的时间和数据库中的时间相差8小时。
这种问题一般都是时区问题产生的,有两个方法可以解决这个问题。
解决方法
方法一
url: jdbc:mysql://localhost:3306/xxx?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2b8
在你的yaml配置文件中,把JDBC的URL后面加上serverTimezone=GMT%2b8
其中%2b是转义后的+
方法二
spring:
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
在yaml中,配置Jackson的时区和日期格式,这个对我来说没有生效,不过在网上查到有这种方法,我也顺带放出来了