解决SpringBoot 2.x时区差的问题

解决步骤

    • 1.设置MySQL的连接的时区
    • 2.两种方法在SpringBoot的中设置默认时区

1.设置MySQL的连接的时区

在配置文件中,设置MySQL的时区

url: jdbc:mysql://localhost:3306/mx?useSSL=false&serverTimezone=Asia/Shanghai

2.两种方法在SpringBoot的中设置默认时区

  1. 配置文件中添加配置(推荐)
spring:
	jackson:
		time-zone: GMT+8
  1. 启动类中添加如下代码(此种方式可以解决docker容器时间同步问题)
@PostConstruct
void started() {
  TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));
}
public static void main(String[] args) {
	// 或这里添加 TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));
    SpringApplication.run(Application.class, args);
}

这样设置后,使用@JsonFormat注解时可以不用指定timezone。

时区参考点这里

你可能感兴趣的:(Spring,Boot)