今天从数据库中查询一组数据,数据中存在date类型的日期,查到后发现日期比数据库中数据少8小时。经过一番查找发现是
@JsonFormat没有设置时区引发的问题。
解决方法:@JsonFormat中添加timezone="GMT+8"。例如:@JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
原因:@JsonFormat 默认是标准时区的时间,多出现少8小时的情况。使用时,按需求加上时区 北京时间 东八区 timezone=”GMT+8”
作用:后台的时间 格式化 发送到前台
import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
public class CusDevPlan {
private Integer id;
private String planItem;
@JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date planDate;
...
}
参考:https://blog.csdn.net/zhou520yue520/article/details/81348926