【发布时间】:2014-08-20 06:48:53
【问题描述】:
我已经使用 -D 参数设置了 jvm 时区。有没有办法以编程方式获取系统时区?我不打算修改 JVM 时区集。我只需要使用本地系统的时区。
【问题讨论】:
-
如果设置 -D 参数,则设置默认 ts。
标签: java calendar timezone jvm
我已经使用 -D 参数设置了 jvm 时区。有没有办法以编程方式获取系统时区?我不打算修改 JVM 时区集。我只需要使用本地系统的时区。
【问题讨论】:
标签: java calendar timezone jvm
有一个私有方法TimeZone.getSystemTimeZoneID,它不在Java标准中。
您可以通过反射调用它:
Method m = TimeZone.class.getDeclaredMethod("getSystemTimeZoneID", String.class, String.class);
m.setAccessible(true);
String javaHome = System.getProperty("java.home");
String systemTimeZone = (String) m.invoke(null, javaHome, null);
有一个类似的私有方法TimeZone.getSystemGMTOffsetID。它返回一个类似GMT+08:00 的字符串。
【讨论】: