在开发中日期最常打交道的东西之一,但是日期又会存在各式各样的格式,常见的情形就是,从数据库取出的日期往往都是时间戳(毫秒数)的形式,这个一般情况下是前端不想要的结果,需要进行处理,那在springboot中比较简单:
因为后端传给前端时默认使用jackson转换格式所以我们可以
- 在application.yml中设置
spring:
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
- 在pojo对象上添加@JsonFormat注解
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createdTime;
但是我在尝试了这两个方法以及相类似的方法,但是都无效,要么就是格式化无效,直接返回的时间戳,要么就是时间还是相差8个小时,但是格式化有效。
这时我看到了另外一篇不一样的博客,随后明白了为什么我的配置没有用,原来是因为我添加拦截器时写的配置类的问题。
以下代码是我更改之前的配置类
package com.wsy.blog.config;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.wsy.blog.interceptor.LoginInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import