【发布时间】:2020-06-30 19:45:49
【问题描述】:
我遇到了一个不寻常的问题。
在 Oracle WebLogic 的生产环境中部署的应用程序已开始出现错误。应该打印为 24 Mar 00:00:00 EDT 2020 的日期将打印为 23 Mar 23:00:00 EST 2020。
其他 WebLogic 服务器日志(不是来自我们的应用程序)也在 EST(东部标准时间)而不是 EDT(东部夏令时间)打印。
这只发生在生产环境中。
应用程序转储到其日志中的时区在所有环境中都是正确的(即“America/New_York”)。我检查了两个环境中的$JRE_HOME/lib/tzdb.dat 文件,它们是相同的。
有谁知道这可能是什么原因造成的?
【问题讨论】:
-
我原以为这是由 JVM 的默认时区设置控制的。并且由于 WebLogic 中的某些程序改变了它(每个程序都可以做到)而导致的错误。你知道打印出来的
America/New_York是不是JVM的时区吗? -
我想到了这一点,但最近只部署了一个其他程序,我没有看到任何特定于时区的更改。但它是一个 Oracle ADF 应用程序,所以我猜 ADF 的内部可能正在发生一些事情。
-
为了回答您的问题,将 America/New_York 打印为 user.timezone。这就是日志包含的所有内容。