Java 数据库时间返回前端显示错误(差8个小时)的解决方法
作者:南─
本文主要介绍了Java 数据库时间返回前端显示错误(差8个小时)的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
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;
参考本篇文章 @JsonFormat 与 @DateTimeFormat 使用
到此这篇关于Java 数据库时间返回前端显示错误(差8个小时)的解决方法的文章就介绍到这了,更多相关Java 数据库时间返回错误内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!