Jackson @JsonFormat注解

前言

今天出现了一个小BUG,时间类型数据格式化时出现误差(八小时)。
数据库是MySQL,字段类型为datetime
Java成员属性类型为Timestamp
使用了@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")注解,虽然能解析但是却有八小时的误差,最终原因是未设置时区引起的。

项目中导入所需Jar包

<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.9.0.pr3</version>
</dependency>

@JsonFormat注解

import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.date;
import java.sql.Timestamp;

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

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

//pattern设置格式化的格式
//timezone设置时区(不设置有可能出现八小时的误差)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容