问题描述:
小程序使用picker mode=date之后,选择某个时间,上传到mysql数据库之后,mysql和小程序时间是一样的,但是小程序需要返回json数据的时候,时间变成了少一天,具体来说是少了8个小时。
问题原因:
json返回数据的时候,返回的时间的时区不是北京的东八区,导致时间差了8个小时。
问题解决:
第一步:
先从mysql下手,把mysql的时区修改成北京的东八区:
1.先看看时区是哪个(采用的是系统的时区)
show variables like "%time_zone%";
2.修改为东八区
set global time_zone = '+8:00';
3.权限更新
flush privileges;
4. look more
第二步,设置springboot配置application.properties :
spring.jackson.time-zone=GMT+8
第三步,设置实体类的日期格式以及Json:
1.设置字段注解
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date day;
2.设置getter方法的注解(core)
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
public Date getDay() {
return day;
}