@JsonFormat 理解: 后端的时间格式化 发送到 前端 比如数据查询出来时间戳 直接 转换成这个格式 然后丢给前端
使用: @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
@DateTimeFormat 理解: 接受前端的传参格式化 比如 前端 传递时间戳 后端映射成指定格式保存
使用: @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
JAVA完整代码参考
import com.fasterxml.jackson.annotation.JsonFormat; import org.springframework.format.annotation.DateTimeFormat;
/**
* 创建时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
private Date createTime;
LocalDateTime等jdk8的时间类也一样可以用以上这两个注解来解决,这种就是单一解决的方式
全局解决方式参考如下:
springboot默认的序列化跟反序列化是通过Jackson来做的,我们在项目中有时候会额外导入fastjson包(不整体排除的话,基本也不允许全局排除没必要去自己冒险)这种目的就是为了处理我们自己业务内的json操作,所以基本上springmvc的反序列化参数啥的就都还是走的jackson,那么针对Date类型跟Jdk8的LocalDateTime等的序列化跟反序列化解决方案参考如下
SpringBoot Jackson Date类型格式设置_得过且过的勇者y的博客-CSDN博客_jackson 时间格式