Springboot项目设置时区,解决OpenJDK没有默认时区问题

今天在项目里遇到个大坑,OpenJDK没默认时区,导致获取的时间是UTC的,和北京时间差8小时,解决方案如下几种. 

1.springboot的Application中的main执行时加

System.setProperty("user.timezone","Asia/Shanghai");

2.JDBC的Class.forName后加

TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));

3.java命令行上加

java -Duser.timezone=Asia/Shanghai -jar xxx.jar

4.dockerfile中加

RUN echo "Asia/Shanghai" > /etc/timezone

5.显示JVM中的配置,如果user.timezone没值则代表取操作系统的默认时区

java -XshowSettings:local

你可能感兴趣的:(java,spring,boot,java,spring)