/**
 * 获取所有的时区对象,封装到List<TimeZone>中
 * @return
 */
public List<TimeZone> getAllTimeZone(){
String[] allTimeZoneID = TimeZone.getAvailableIDs();
List<TimeZone> timeZoneList = new ArrayList<TimeZone>();
for(String tzID : allTimeZoneID ){
TimeZone tz = TimeZone.getTimeZone(tzID);
timeZoneList.add(tz);
}
return timeZoneList;
}先获取所有时区,再打印时区ID List<TimeZone> list = center.getAllTimeZone();
for(TimeZone t : list){
System.out.println(t.getID());
}输出结果:
Asia/Chongqing
Asia/Chungking
Asia/Harbin
Asia/Hong_Kong
Asia/Irkutsk
Asia/Kashgar
Asia/Kuala_Lumpur
Asia/Kuching
Asia/Macao
Asia/Macau
Asia/Makassar
Asia/Manila
Asia/Shanghai如果是:
System.out.println(t.getDisplayName());显示为:
中央标准时间(南澳大利亚)
中央标准时间(南澳大利亚/新南威尔斯)
中央标准时间(北领地)
中央标准时间(北领地)
中央标准时间(南澳大利亚)
中央标准时间(南澳大利亚/新南威尔斯)
东部标准时间(新南威尔斯)我的问题是怎么把getID()的结果显示为中文?
用getDisplayName()只能显示城市所在国家的时区大类名称
打开系统右下角的时间,可以更改时区,我想显示成那样的效果 “(UTC+8:00)北京”
求大神帮忙。timezonejava