场景

数据库时间字段的类型:

1
2
createTime	datetime
updateTime datetime

实体类时间字段类型:

1
2
private Date createTime;
private Date updateTime;

从数据库中查询返回的数据:

1
2
3
4
{
"create_time": "2020-08-08T09:27:07.000+08:00",
"update_time": "2020-08-08T09:27:09.000+08:00"
}

希望得到的数据:

1
2
3
4
{
"create_time": "2020-08-08 09:27:07",
"update_time": "2020-08-08 09:27:09"
}

解决方案

  1. 取出字段进行格式转换:

    1
    2
    DateTimeFormatter
    SimpleDateFormat
  2. 使用格式化注解进行转换:

    1
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") 
  3. 在数据库sql语句动手脚进行格式转换

    1
    SELECT DATE_FORMAT(createTime,"%Y-%m-%d %H:%i:%s")

简单直接的方案

application.yml上 加上四行配置项代码即可:

1
2
3
4
5
6
spring:
jackson:
#时区,默认为格林尼治时间,即少8小时,所以我们需要+8
time-zone: GMT+8
#时间格式转换定义
date-format: yyyy-MM-dd HH:mm:ss

原文链接 https://blog.csdn.net/qq_35387940/article/details/107249735