如何生成与java TimeZone对应的时区的良好下拉列表
其他Web应用程序使用什么策略来为用户首选项生成格式良好的时区列表?
我尝试了所有的时区,但列表很长,并没有完全格式化为用户。
只是想知道其他人是如何做到这一点的。
以下代码段
... 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)
给出的不同偏移和/或时区添加过滤。
一种简单的方法是将时区ID放在列表中而不是时区本身。 TimeZone.getAvailableIDs()
返回GMT,Europe / Paris,America / New_York等值…