如何从Java中的时区偏移量获取时区?

我知道相反。给定一个时区,我可以通过以下代码片段获取时区偏移量:

TimeZone tz = TimeZone.getDefault();

System.out.println(tz.getOffset(System.currentTimeMillis()));

我想知道如何从时区偏移量获取时区名称。

鉴于

timezone offset = 21600000 (以毫秒为单位; +6.00偏移)

我想得到以下任何可能的时区名称的结果:

(GMT+6:00) Antarctica/Vostok

(GMT+6:00) Asia/Almaty

(GMT+6:00) Asia/Bishkek

(GMT+6:00) Asia/Dacca

(GMT+6:00) Asia/Dhaka

(GMT+6:00) Asia/Qyzylorda

(GMT+6:00) Asia/Thimbu

(GMT+6:00) Asia/Thimphu

(GMT+6:00) Asia/Yekaterinburg

(GMT+6:00) BST

(GMT+6:00) Etc/GMT-6

(GMT+6:00) Indian/Chagos

回答:

TimeZone#getAvailableIDs(int)

import java.util.*;

class Hello

{

public static void main (String[] args) throws java.lang.Exception

{

TimeZone tz = TimeZone.getDefault();

int offset = 21600000;

String[] availableIDs = tz.getAvailableIDs(offset);

for(int i = 0; i < availableIDs.length; i++) {

System.out.println(availableIDs[i]);

}

}

}

以上是 如何从Java中的时区偏移量获取时区? 的全部内容, 来源链接: utcz.com/qa/430455.html

回到顶部