前端请求接口 Date 对应的时区问题

前端传一个时间值:2099-01-01T00:00:00+08:00 到springboot提供的restful接口,存入mysql数据库

发现数据库里存入的是:2098-12-31 16:00:00 ,这时mybatis的jdbctype未指定,使用默认的timestamp

时区不对,确认了linux系统,mysql本身的时区没有问题,那肯定是配置的问题。

springboot中使用的Date对象接受,直接打印输出值,时间是没问题的,所以一定是出在写数据库的部分。

mybatis的配置也没有问题,查到是连接数据库url的时区问题

serverTimezone=UTC
修改为
serverTimezone=GMT%2B8
不要用GMT+8 ,加号会有问题

再启动测试,写入数据库的是期望中的了


再说读取,返回给前端的是2019-06-04T02:51:31.000+0000 这样的,也需要转为东八区的

从数据库读出来的上面已经设置过了,肯定是没问题的,所以肯定是在对象转json的时候,springboot中

spring.jackson.time-zone这个参数设置成GMT+8,就可以了。

你可能感兴趣的:(springboot)