草庐IT

dstSavings

全部标签

Java 时区在运行时更改

我的java程序需要使用当前本地时区记录事件。问题是,用户有能力改变时区,但即使系统时区改变了,java程序仍然以“旧”时区运行。我怀疑JavaVM在运行Java程序时将时区设置为默认值(Timezone.setDefault()的javadoc说“将默认值重置为VM首次启动时的初始值。”)真的吗?Java无法将默认时区更新为新的系统时区,因此需要重新启动VM? 最佳答案 while(true){Thread.sleep(1000);System.out.println(TimeZone.getDefault());System.g