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

文章目录

    • @JsonFormat 与 @DateTimeFormat 使用
      • `0 可能错误截图`
      • `1 在属性上加自定义Json返回注释 @JsonSerialize`
      • `2 新建实体类 CustomDateTimeSerializer`
      • `3 前端传后端格式转换(ISO 日期格式)转(Data)`
      • `4 一个注释解决双端转化问题`

@JsonFormat 与 @DateTimeFormat 使用

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

0 可能错误截图

Java 数据库时间返回前端显示错误(差8个小时)_第1张图片

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)

Java 数据库时间返回前端显示错误(差8个小时)_第2张图片

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

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

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

你可能感兴趣的:(Java,java,数据库,前端)