问题描述:

在任意写的一个main方法中,使用:

LocalDateTime now = LocalDateTime.now();

 

获取到的当前时间都是正确的,但是在spring boot启动后,任意一个方法中使用上述获取当前时间 都是比当前系统时间  早8个小时

 

 

解决方法:

在启动类中,设置项目中的时区

@SpringBootApplication

public class SwappingApplication {

public static void main(String[] args) {

SpringApplication.run(SwappingApplication.class, args);

}

@PostConstruct

void started() {

TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));

}

}

 

=============下面可以不看=============

yml文件添加:

spring:

jackson:

time-zone: Asia/Shanghai

 

properties文件添加:

spring.jackson.time-zone=Asia/Shanghai

 

查看原文