【问题标题】:JVM Timezone set to GMT. I need system timezone where the System timezone is, say, ISTJVM 时区设置为 GMT。我需要系统时区,其中系统时区是 IST
【发布时间】:2014-08-20 06:48:53
【问题描述】:

我已经使用 -D 参数设置了 jvm 时区。有没有办法以编程方式获取系统时区?我不打算修改 JVM 时区集。我只需要使用本地系统的时区。

【问题讨论】:

  • 如果设置 -D 参数,则设置默认 ts。

标签: java calendar timezone jvm


【解决方案1】:

有一个私有方法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 的字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-22
    • 2011-12-05
    • 2011-05-30
    • 1970-01-01
    • 2011-12-14
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多