如何强制Spring Boot JVM进入UTC时区? [英] How do I force a Spring Boot JVM into UTC time zone?

查看:425
本文介绍了如何强制Spring Boot JVM进入UTC时区?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我看到了将Java时区强制设置为GMT/UTC

我尝试过

  • mvn spring-boot:run -Dexec.args =-Duser.timezone = GMT"
  • mvn spring-boot:run -Dexec.args =-Duser.timezone = UTC"
  • config/application.properties 中的
  • user.timezone=UTC
  • user.timezone=GMT
  • 在pom.xml中:

  • mvn spring-boot:run -Dexec.args="-Duser.timezone=GMT"
  • mvn spring-boot:run -Dexec.args="-Duser.timezone=UTC"
  • user.timezone=UTC in config/application.properties
  • user.timezone=GMT
  • In the pom.xml:

    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
            <properties>
              <spring-boot.run.jvmArguments>-Duser.timezone=UTC</spring-boot.run.jvmArguments>
            </properties>
        </configuration>
    </plugin>

  • mvn spring-boot:run -Dspring-boot.run.jvmArguments =-Duser.timezone = UTC"
  • 但它会打印出来

    System.out.println(TimeZone.getDefault());
    

    sun.util.calendar.ZoneInfo [id ="America/New_York",offset = -18000000,dstSavings = 3600000,useDaylight = true,transitions = 235,lastRule = java.util.SimpleTimeZone [id = America/New_York,偏移量= -18000000,dstSavings = 3600000,useDaylight = true,startYear = 0,startMode = 3,startMonth = 2,startDay = 8,startDayOfWeek = 1,startTime = 7200000,startTimeMode = 0,endMode = 3,endMonth = 10,endDay = 1,endDayOfWeek = 1,endTime = 7200000,endTimeMode = 0]]

    sun.util.calendar.ZoneInfo[id="America/New_York",offset=-18000000,dstSavings=3600000,useDaylight=true,transitions=235,lastRule=java.util.SimpleTimeZone[id=America/New_York,offset=-18000000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=3,startMonth=2,startDay=8,startDayOfWeek=1,startTime=7200000,startTimeMode=0,endMode=3,endMonth=10,endDay=1,endDayOfWeek=1,endTime=7200000,endTimeMode=0]]

    Spring Boot 1.5.19,Java 8

    Spring Boot 1.5.19, Java 8

    推荐答案

    使用

    Use spring-boot.run.jvmArguments property if you want to pass JVM options from Maven Spring Boot Plugin to forked Spring Boot application:

    <properties>
      <spring-boot.run.jvmArguments>-Duser.timezone=UTC</spring-boot.run.jvmArguments>
    </properties>
    

    这等效于命令行语法:

    mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Duser.timezone=UTC"
    

    或运行完全打包的Spring Boot应用程序时:

    or when running a fully packaged Spring Boot application:

    java -Duser.timezone=UTC -jar app.jar
    

    这篇关于如何强制Spring Boot JVM进入UTC时区?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆