2016-05-12 5 views
3

Я знаю, как получить обратное. Это дается часовой пояс я могу получить смещение часового пояса в следующем фрагменте кода:Как получить часовой пояс от смещения часовой пояс в 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 

ответ

1

Использование getAvailableIDs() класса TimeZone

import java.util.*; 
class hello 
{ 
    public static void main (String[] args) throws java.lang.Exception 
    { 
    TimeZone tz=TimeZone.getDefault(); 
    String a[]=tz.getAvailableIDs(21600000); 
    for(int i=0;i<a.length;i++) 
     System.out.println(a[i]); 
    } 
} 
+1

Это замечательно! Есть ли подводные камни, использующие эту стратегию? Я имею в виду DST (Летнее время) связанные вещи? –

+0

Следующая ссылка может помочь https://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html –

+0

Большое спасибо за ваше время. –

Смежные вопросы