2012-03-07 4 views
0

Я пытаюсь получить часовой пояс из родного календаря, используя следующий код, но я получаю часовой пояс имеет Азию/Калькутту, а не просто «IST»как получить часовой пояс из календаря

Calendar calendarLocal = Calendar.getInstance(); 
       // fetches time zone 
       TimeZone timeZone = calendarLocal.getTimeZone(); 
       System.out.println("Time Zone getAvailableIDs() --->"+timeZone.getAvailableIDs()); 
       String[] x=timeZone.getAvailableIDs(); 
       for(int i=0;i<x.length;i++){ 
        System.out.println("Time Zone IDs-->"+x[i]); 
       } 
        System.out.println("Time Zone ID--->"+timeZone.getID()); 
       System.out.println(" Calender Default-------->>>"+timeZone.getDefault()); 
       System.out.println("Time Zone --->"+timeZone.getTimeZone(timeZone.getID())); 

Здесь TimeZone является Азия/Калькутта мне нужно распечатать IST

ответ

0

BlackBerry Java не дает вам коротких коротких кодов по часовому поясу, по крайней мере, не надежно (это только gaurantees, чтобы узнать о коде «GMT»). Вы можете указать see my answer here для получения информации о том, как закодировать сопоставление между строками типа «Азия/Калькутта» и «ИСТ». (Мой метод mapTimeZoneCodes() в этом примере)

Я обеспечиваю метод шаблона для настройки отображения, а также ссылка на this article on Desktop Java, который, кажется, есть довольно полный список кодов часовых поясов, и как отображать коды к длинные строки часовых поясов Java.

Это будет скучно работать, чтобы скопировать строки в шаблоне, но как только у вас есть, вы будете иметь возможность легко поиска короткий код, основанный на длинном имени:

String longName = timeZone.toString(); 
String shortCode = (String)_timeZones.get(longName); 

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

  • Нет связанных вопросов^_^