初次使用springboot,发现数据在静态页面通过thymeleaf的方式渲染出来的数据datetime为格林威治时间。第一次碰见这种情况,后来控制台打印发现,发现从数据库查出的数据日期就是格林威治时间。各种百度也没说的上来的,我以为是数据库的问题,看了网上说的大致2种办法,一种是查询语句转化,可读写太差了。还要就是jsonformat,但是加上也不行。最后使用responbody显示数据时发现日期显示正常。才感觉是thymeleaf的坑,一查果然是,需要加类型转换,亏我当时找什么day.js,monety.js。
${#dates.format(cm.createTime,'yyyy-MM-dd HH:mm:ss')}
同时需要注意的是,页面是不需要加jsonformat,但是ajax请求需要为datetime字段类型的数据设置parten和时区。如下是开启全局配置。但是为什么数据库会将datetime转换为格林威治时间返回,我是真的没理解
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8