How to produce a good dropdown list of timezones that correspond to java TimeZone(s)
What strategy do other webapps use to generate a nicely formatted list of timezones for user preferences?
I tried just getting all the time zones, but the list is long and not exactly formatted well for a user.
Just want to know how other people are开发者_如何学C doing this.
The following code snippet
...
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));
}
...
will print formatted time zones like:
(GMT+12:00) Pacific/Tarawa
(GMT+12:00) Pacific/Wake
(GMT+12:00) Pacific/Wallis
(GMT+12:45) NZ-CHAT
You might want to add filtering for different offsets and/or time zones given from zone.getDisplayName(zone.useDaylightTime(), TimeZone.SHORT).
An easy way is to put the time zones IDs in the list instead of the time zones themselves. TimeZone.getAvailableIDs() returns values such as GMT, Europe/Paris, America/New_York...
加载中,请稍侯......
精彩评论