我的操作系统是Windows Server 2012 R2
我服务器的时区是 UTC +3 伊斯坦 boolean 。
但是,当我运行这段代码时,它会给我:
委内瑞拉时间 美洲/加拉加斯
我运行的代码:
System.out.println(TimeZone.getDefault().getDisplayName());
System.out.println(TimeZone.getDefault().getID());
JVM 在哪里存储默认时区信息以及我如何更改它?
注意:
问题不在于代码,我正在该服务器上运行 Informatica。我只是将代码作为示例。我想更改使用 TimeZone.getDefault().getDisplayName() 检索到的信息。在哪里以及如何?我本地的时钟是土耳其
谢谢
最佳答案
将变量 -Duser.timezone 传递给 jvm 参见 How to set a JVM TimeZone Properly
或参阅 Oracle 关于此主题的引用资料 https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/time-zone002.html
关于java - 更改 Java 时区(不适用于应用程序,整个服务器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44001667/