如何在Java中获取操作系统时区?

时间:2017-06-14 11:43:10

标签: java timezone

TimeZone.getDefault()返回系统时区,直到它被更改。

样本1:

System.out.println(TimeZone.getDefault());

结果:

Europe/Kaliningrad

是系统时区。

样本2:

TimeZone.setDefault(TimeZone.getTimeZone("Asia/Kolkata"));
System.out.println(TimeZone.getDefault());

结果:

Asia/Kolkata

它不是系统时区,系统时区仍然是欧洲/加里宁格勒。

那么即使在更改默认DateTimeZone后,如何获得系统时区。

2 个答案:

答案 0 :(得分:2)

您可以检查系统属性user.timezone:

   System.getProperty("user.timezone")

答案 1 :(得分:0)

在遵循代码

之前,将TimeZone.getDefault()的值存储在变量中
TimeZone.setDefault(TimeZone.getTimeZone("Asia/Kolkata"));
System.out.println(TimeZone.getDefault());

并稍后使用该变量。