【spring boot】spring boot项目中,使用LocalDateTime.now()获取时间比当前时间早8个小时,java项目获取当前时间比系统时间早8个小时
问题描述:
在任意写的一个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