关注How to store date/time and timestamps in UTC time zone with JPA and Hibernate我想将我的应用程序默认时区设置为UTC。 我的应用程序在Linux服务器上运行tomcat和其他一些应用程序。 服务器有其他运行更多应用程序的tomcat实例。
Timezone.setDefault(tz)会影响同一个tomcat实例上的其他应用吗?
它会影响其他tomcat实例上的其他应用吗?
是否可以仅为应用设置时区?我松散地记得有关安全管理器设置的内容,以便允许这样做。
答案 0 :(得分:14)
java中的默认时区设置有点棘手。默认情况下,如果设置默认时区,则会影响整个jvm。但是,如果您使用的是SecurityManager,并且当前的安全上下文不允许设置默认值,则TimeZone.setDefault()方法将改为设置线程本地值(因此任何其他代码)在同一个线程上运行会将此值视为默认值,但jvm的其余部分将不受影响)。我不认为有一种方法可以为您的“应用程序”设置默认值,除非您可以将应用程序缩小到特定的线程集合(极不可能)。
答案 1 :(得分:3)
使用java选项-Duser.timezone=GMT
启动您的应用服务器吗?