SpringBoot传递时间数据给前端,前端显示时间少了12小时
后端:
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime modifiedTime;
连接数据库配置信息
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/q&a_community?serverTimezone=Asia/Shanghai
数据库里的时间是
在后端查询时间打印到控制台也是显示这个时间2021-10-13T23:40:53
但是前端展示数据时却变为"2021-10-13 11:40:53"
解决了,原来是我自己大意。。。@JsonFormat()标错了,标在另一个类的属性上。。。。
具体原因:我找到正确的实体类后,发现里面时间属性上的注解是这样的
@JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
时间小写hh是12小时制的,要显示24小时制的就要大写HH,所以应该改为:
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
时区问题吧,查看一下客户端和数据库服务端都是哪个时区。
一般都是差8个小时,你这差了10个小时,用的是mac电脑吗?mac电脑装的windows系统?