- java代码中获取当前服务器时区信息
ZoneId.systemDefault();
TimeZone.getDefault();
2 通过@PostConstruct注解SpringBoot服务启动的时候,将当前时区设置为UTC/北京时间等
package com.xxx;
import java.util.TimeZone;
import javax.annotation.PostConstruct;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import springfox.documentation.spring.web.SpringfoxWebMvcConfiguration;
@SpringBootApplication
@MapperScan("com.xxx.xx.mapper")
@ConditionalOnClass(SpringfoxWebMvcConfiguration.class)
@ComponentScan(value = {"com.xxx.xx", "com.xxx.common", "com.xxx.parse", "com.xxx.dsub", "com.xxx.util"})
@EnableTransactionManagement
@EnableAsync
@EnableScheduling
@ServletComponentScan
public class XxxApplication implements WebMvcConfigurer {
public static void main(String[] args) {
SpringApplication.run(XxxApplication.class, args);
}
/**
* 服务启动的时候,将当前时区设置为UTC/北京时间等
*/
@PostConstruct
public void started() {
TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));
// 这里是UTC就是设置服务时区为UTC时区
//TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
}
}
3.设置JsonFormat注解timezone属性的默认时区为启动服务时配置的时区
package com.xxx;
import java.util.TimeZone;
import javax.annotation.PostConstruct;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import springfox.documentation.spring.web.SpringfoxWebMvcConfiguration;
@SpringBootApplication
@MapperScan("com.xxx.xx.mapper")
@ConditionalOnClass(SpringfoxWebMvcConfiguration.class)
@ComponentScan(value = {"com.xxx.xx", "com.xxx.common", "com.xxx.parse", "com.xxx.dsub", "com.xxx.util"})
@EnableTransactionManagement
@EnableAsync
@EnableScheduling
@ServletComponentScan
public class XxxApplication implements WebMvcConfigurer {
public static void main(String[] args) {
SpringApplication.run(XxxApplication.class, args);
}
// 设置JsonFormat注解timezone属性的默认时区为启动服务时配置的时区
@Autowired
private ObjectMapper objectMapper;
public void onApplicationEvent(ApplicationReadyEvent applicationReadyEvent) {
objectMapper.setTimeZone(TimeZone.getDefault());
}
}