Следующий фрагмент кода
...
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)
.