Как создать хороший выпадающий список часовых поясов, которые соответствуют java TimeZone (s) - PullRequest
4 голосов
/ 21 ноября 2010

Какую стратегию используют другие веб-приложения для создания красиво отформатированного списка часовых поясов для пользовательских настроек?

Я пытался просто получить все часовые пояса, но список длинный и не совсем хорошо отформатирован для пользователя.

Просто хочу узнать, как это делают другие люди.

Ответы [ 2 ]

3 голосов
/ 21 ноября 2010

Следующий фрагмент кода

...
String [] ids = TimeZone.getAvailableIDs();
for(String id:ids) {
  TimeZone zone = TimeZone.getTimeZone(id);
  int offset = zone.getRawOffset()/1000;
  int hour = offset/3600;
  int minutes = (offset % 3600)/60;
  System.err.println(String.format("(GMT%+d:%02d) %s", hour, minutes, id));
}   
...

будет печатать отформатированные часовые пояса, такие как:

(GMT+12:00) Pacific/Tarawa
(GMT+12:00) Pacific/Wake
(GMT+12:00) Pacific/Wallis
(GMT+12:45) NZ-CHAT

Возможно, вы захотите добавить фильтрацию для различных смещений и / или часовых поясов, указанных в zone.getDisplayName(zone.useDaylightTime(), TimeZone.SHORT).

0 голосов
/ 21 ноября 2010

Простой способ - поместить идентификаторы часовых поясов в список вместо самих часовых поясов. TimeZone.getAvailableIDs() возвращает такие значения, как GMT, Европа / Париж, Америка / New_York ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...