在SpringBoot中的时区问题处理

将时区设置为东八时区

1数据库链接

在application.properties中配置MySQL 数据链接配置serverTimezone=GMT%2B8

1
spring.datasource.db.jdbc-url=jdbc:mysql://127.0.0.1:3306/database?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=true

2 启动类添加 TimeZone.setDefault(TimeZone.getTimeZone(“GMT+8”));

1
2
3
4
5
6
7
8
9
10
11
12
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}

@PostConstruct
void started() {
// 设置用户时区为 UTC
TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));
}

}

3 处理类中的时间配置 @JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”,timezone=”GMT+8”)

1
2
3
4
5
//入库日期
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JSONField(format="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date updateTime;
继开 wechat
欢迎加我的微信,共同交流技术