Java 数据库时间返回前端显示错误(差8个小时)

@JsonFormat 与 @DateTimeFormat 使用

参考本篇文章 @JsonFormat 与 @DateTimeFormat 使用

0 可能错误截图

在这里插入图片描述

1 在属性上加自定义Json返回注释 @JsonSerialize

    @TableField(value = "create_time")
    @JsonSerialize(using = CustomDateTimeSerializer.class)
    private Date createTime;

2 新建实体类 CustomDateTimeSerializer

public class CustomDateTimeSerializer extends JsonSerializer<Date>{
    
    
	@Override
	public void serialize(Date value, JsonGenerator gen, SerializerProvider serializers)
			throws IOException {
    
    
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		sdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
		gen.writeString(sdf.format(value));  
	}
}

3 前端传后端格式转换(ISO 日期格式)转(Data)

在这里插入图片描述

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date updateTime;

4 一个注释解决双端转化问题

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

猜你喜欢

转载自blog.csdn.net/weixin_45725923/article/details/132123743
今日推荐