如何从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