在时区列表

时间:2015-10-27 04:26:16

标签: java sorting timezone

我正在尝试根据GMT时间在用户首选项页面中显示时区。 我被卡住的地方是我试图根据GMT时间字母顺序排序这个时区。喜欢

(GMT+3:00) Indian/Mayotte (GMT+3:00) W-SU (GMT+3:30) Asia/Tehran
(GMT+3:30) Iran (GMT+4:00) Asia/Baku (GMT+4:00) Asia/Dubai
(GMT+4:00) Asia/Muscat (GMT+4:00) Asia/Tbilisi (GMT+4:00)
Asia/Yerevan (GMT+4:00) Etc/GMT-4 (GMT+4:00) Europe/Samara
(GMT+4:00) Indian/Mahe (GMT+4:00) Indian/Mauritius (GMT+4:00)
Indian/Reunion (GMT+4:00) NET (GMT+4:30) Asia/Kabul (GMT+5:00)
Antarctica/Mawson (GMT+5:00) Asia/Aqtau

我现在使用的是比较器,它仍未根据字符串中的时间正确排序:

enter image description here

我需要根据字母数字和 - +运算符排序,如-10,-9,-1,0,1,2,3 ...任何人都可以帮忙。

public class ComboDropDownItem {
    private String key;
    private String value;

    public ComboDropDownItem(String key, String value) {
        this.key = key;
        this.value = value;
    }

    public String getValue() {
        return value;
    }

    public String getKey() {
        return key;
    }
  }  

public class Timezoner {

  public static void main(String args[]) {
    List<ComboDropDownItem> comboDropDownItem = new ArrayList<>();
    String[] ids = TimeZone.getAvailableIDs();
    for (String id : ids) {
        comboDropDownItem.add(
    new ComboDropDownItem(TimeZone.getTimeZone(id).getID(),            
     getTimeZone(TimeZone.getTimeZone(id))));
    }
     Collections.sort(comboDropDownItem, 
             new Comparator<ComboDropDownItem>() {
        public int compare(ComboDropDownItem s1, ComboDropDownItem s2) {
            return s1.getValue().compareToIgnoreCase(s2.getValue());
        }
    }); // Need to sort the GMT timezone here after getTimeZone() method call
    for (ComboDropDownItem instance : comboDropDownItem) {
         System.out.println(instance.getValue());

    }
  }

   private static String getTimeZone(TimeZone tz) {
    long hours = TimeUnit.MILLISECONDS.toHours(tz.getRawOffset());
    long minutes = TimeUnit.MILLISECONDS.toMinutes(tz.getRawOffset()) 
             - TimeUnit.HOURS.toMinutes(hours);
    minutes = Math.abs(minutes);
    String result = "";
    if (hours > 0) {
    result = String.format("(GMT+%d:%02d) %s", hours, minutes, tz.getID());
    } else if (hours < 0) {
    result = String.format("(GMT%d:%02d) %s", hours, minutes, tz.getID());
    } else {
        result = String.format("(GMT) %s", tz.getID());
    }
    return result;

  }
} 

2 个答案:

答案 0 :(得分:7)

首先使用rawOffset List<TimeZone> comboDropDownItem = new ArrayList<>(); String[] ids = TimeZone.getAvailableIDs(); for (String id : ids) { comboDropDownItem.add(TimeZone.getTimeZone(id)); } Collections.sort(comboDropDownItem, new Comparator<TimeZone>() { public int compare(TimeZone s1, TimeZone s2) { return s1.getRawOffset() - s2.getRawOffset(); } }); // Need to sort the GMT timezone here after getTimeZone() method call for (TimeZone instance : comboDropDownItem) { System.out.println(getTimeZone(instance) + instance.getID()); } 值进行排序,例如......

List

然后使用已排序的(GMT-12:00) Etc/GMT+12Etc/GMT+12 (GMT-11:00) Etc/GMT+11Etc/GMT+11 (GMT-11:00) Pacific/MidwayPacific/Midway (GMT-11:00) Pacific/NiuePacific/Niue (GMT-11:00) Pacific/Pago_PagoPacific/Pago_Pago (GMT-11:00) Pacific/SamoaPacific/Samoa (GMT-11:00) US/SamoaUS/Samoa (GMT-10:00) America/AdakAmerica/Adak (GMT-10:00) America/AtkaAmerica/Atka (GMT-10:00) Etc/GMT+10Etc/GMT+10 (GMT-10:00) Pacific/HonoluluPacific/Honolulu (GMT-10:00) Pacific/JohnstonPacific/Johnston (GMT-10:00) Pacific/RarotongaPacific/Rarotonga (GMT-10:00) Pacific/TahitiPacific/Tahiti (GMT-10:00) SystemV/HST10SystemV/HST10 (GMT-10:00) US/AleutianUS/Aleutian (GMT-10:00) US/HawaiiUS/Hawaii (GMT-10:00) HSTHST (GMT-9:30) Pacific/MarquesasPacific/Marquesas (GMT-9:00) America/AnchorageAmerica/Anchorage (GMT-9:00) America/JuneauAmerica/Juneau (GMT-9:00) America/NomeAmerica/Nome (GMT-9:00) America/SitkaAmerica/Sitka (GMT-9:00) America/YakutatAmerica/Yakutat (GMT-9:00) Etc/GMT+9Etc/GMT+9 (GMT-9:00) Pacific/GambierPacific/Gambier (GMT-9:00) SystemV/YST9SystemV/YST9 (GMT-9:00) SystemV/YST9YDTSystemV/YST9YDT (GMT-9:00) US/AlaskaUS/Alaska (GMT-9:00) ASTAST (GMT-8:00) America/DawsonAmerica/Dawson (GMT-8:00) America/EnsenadaAmerica/Ensenada (GMT-8:00) America/Los_AngelesAmerica/Los_Angeles (GMT-8:00) America/MetlakatlaAmerica/Metlakatla (GMT-8:00) America/Santa_IsabelAmerica/Santa_Isabel (GMT-8:00) America/TijuanaAmerica/Tijuana (GMT-8:00) America/VancouverAmerica/Vancouver (GMT-8:00) America/WhitehorseAmerica/Whitehorse (GMT-8:00) Canada/PacificCanada/Pacific (GMT-8:00) Canada/YukonCanada/Yukon (GMT-8:00) Etc/GMT+8Etc/GMT+8 (GMT-8:00) Mexico/BajaNorteMexico/BajaNorte (GMT-8:00) PST8PDTPST8PDT (GMT-8:00) Pacific/PitcairnPacific/Pitcairn (GMT-8:00) SystemV/PST8SystemV/PST8 (GMT-8:00) SystemV/PST8PDTSystemV/PST8PDT (GMT-8:00) US/PacificUS/Pacific (GMT-8:00) US/Pacific-NewUS/Pacific-New (GMT-8:00) PSTPST (GMT-7:00) America/BoiseAmerica/Boise (GMT-7:00) America/Cambridge_BayAmerica/Cambridge_Bay (GMT-7:00) America/ChihuahuaAmerica/Chihuahua (GMT-7:00) America/CrestonAmerica/Creston (GMT-7:00) America/Dawson_CreekAmerica/Dawson_Creek (GMT-7:00) America/DenverAmerica/Denver (GMT-7:00) America/EdmontonAmerica/Edmonton (GMT-7:00) America/HermosilloAmerica/Hermosillo (GMT-7:00) America/InuvikAmerica/Inuvik (GMT-7:00) America/MazatlanAmerica/Mazatlan (GMT-7:00) America/OjinagaAmerica/Ojinaga (GMT-7:00) America/PhoenixAmerica/Phoenix (GMT-7:00) America/ShiprockAmerica/Shiprock (GMT-7:00) America/YellowknifeAmerica/Yellowknife (GMT-7:00) Canada/MountainCanada/Mountain (GMT-7:00) Etc/GMT+7Etc/GMT+7 (GMT-7:00) MST7MDTMST7MDT (GMT-7:00) Mexico/BajaSurMexico/BajaSur (GMT-7:00) NavajoNavajo (GMT-7:00) SystemV/MST7SystemV/MST7 (GMT-7:00) SystemV/MST7MDTSystemV/MST7MDT (GMT-7:00) US/ArizonaUS/Arizona (GMT-7:00) US/MountainUS/Mountain (GMT-7:00) MSTMST (GMT-7:00) PNTPNT (GMT-6:00) America/Bahia_BanderasAmerica/Bahia_Banderas (GMT-6:00) America/BelizeAmerica/Belize (GMT-6:00) America/CancunAmerica/Cancun (GMT-6:00) America/ChicagoAmerica/Chicago (GMT-6:00) America/Costa_RicaAmerica/Costa_Rica (GMT-6:00) America/El_SalvadorAmerica/El_Salvador (GMT-6:00) America/GuatemalaAmerica/Guatemala (GMT-6:00) America/Indiana/KnoxAmerica/Indiana/Knox (GMT-6:00) America/Indiana/Tell_CityAmerica/Indiana/Tell_City (GMT-6:00) America/Knox_INAmerica/Knox_IN (GMT-6:00) America/ManaguaAmerica/Managua (GMT-6:00) America/MatamorosAmerica/Matamoros (GMT-6:00) America/MenomineeAmerica/Menominee (GMT-6:00) America/MeridaAmerica/Merida (GMT-6:00) America/Mexico_CityAmerica/Mexico_City (GMT-6:00) America/MonterreyAmerica/Monterrey (GMT-6:00) America/North_Dakota/BeulahAmerica/North_Dakota/Beulah (GMT-6:00) America/North_Dakota/CenterAmerica/North_Dakota/Center (GMT-6:00) America/North_Dakota/New_SalemAmerica/North_Dakota/New_Salem (GMT-6:00) America/Rainy_RiverAmerica/Rainy_River (GMT-6:00) America/Rankin_InletAmerica/Rankin_Inlet (GMT-6:00) America/ReginaAmerica/Regina (GMT-6:00) America/ResoluteAmerica/Resolute (GMT-6:00) America/Swift_CurrentAmerica/Swift_Current (GMT-6:00) America/TegucigalpaAmerica/Tegucigalpa (GMT-6:00) America/WinnipegAmerica/Winnipeg (GMT-6:00) CST6CDTCST6CDT (GMT-6:00) Canada/CentralCanada/Central (GMT-6:00) Canada/East-SaskatchewanCanada/East-Saskatchewan (GMT-6:00) Canada/SaskatchewanCanada/Saskatchewan (GMT-6:00) Chile/EasterIslandChile/EasterIsland (GMT-6:00) Etc/GMT+6Etc/GMT+6 (GMT-6:00) Mexico/GeneralMexico/General (GMT-6:00) Pacific/EasterPacific/Easter (GMT-6:00) Pacific/GalapagosPacific/Galapagos (GMT-6:00) SystemV/CST6SystemV/CST6 (GMT-6:00) SystemV/CST6CDTSystemV/CST6CDT (GMT-6:00) US/CentralUS/Central (GMT-6:00) US/Indiana-StarkeUS/Indiana-Starke (GMT-6:00) CSTCST (GMT-5:00) America/AtikokanAmerica/Atikokan (GMT-5:00) America/BogotaAmerica/Bogota (GMT-5:00) America/CaymanAmerica/Cayman (GMT-5:00) America/Coral_HarbourAmerica/Coral_Harbour (GMT-5:00) America/DetroitAmerica/Detroit (GMT-5:00) America/EirunepeAmerica/Eirunepe (GMT-5:00) America/Fort_WayneAmerica/Fort_Wayne (GMT-5:00) America/Grand_TurkAmerica/Grand_Turk (GMT-5:00) America/GuayaquilAmerica/Guayaquil (GMT-5:00) America/HavanaAmerica/Havana (GMT-5:00) America/Indiana/IndianapolisAmerica/Indiana/Indianapolis (GMT-5:00) America/Indiana/MarengoAmerica/Indiana/Marengo (GMT-5:00) America/Indiana/PetersburgAmerica/Indiana/Petersburg (GMT-5:00) America/Indiana/VevayAmerica/Indiana/Vevay (GMT-5:00) America/Indiana/VincennesAmerica/Indiana/Vincennes (GMT-5:00) America/Indiana/WinamacAmerica/Indiana/Winamac (GMT-5:00) America/IndianapolisAmerica/Indianapolis (GMT-5:00) America/IqaluitAmerica/Iqaluit (GMT-5:00) America/JamaicaAmerica/Jamaica (GMT-5:00) America/Kentucky/LouisvilleAmerica/Kentucky/Louisville (GMT-5:00) America/Kentucky/MonticelloAmerica/Kentucky/Monticello (GMT-5:00) America/LimaAmerica/Lima (GMT-5:00) America/LouisvilleAmerica/Louisville (GMT-5:00) America/MontrealAmerica/Montreal (GMT-5:00) America/NassauAmerica/Nassau (GMT-5:00) America/New_YorkAmerica/New_York (GMT-5:00) America/NipigonAmerica/Nipigon (GMT-5:00) America/PanamaAmerica/Panama (GMT-5:00) America/PangnirtungAmerica/Pangnirtung (GMT-5:00) America/Port-au-PrinceAmerica/Port-au-Prince (GMT-5:00) America/Porto_AcreAmerica/Porto_Acre (GMT-5:00) America/Rio_BrancoAmerica/Rio_Branco (GMT-5:00) America/Thunder_BayAmerica/Thunder_Bay (GMT-5:00) America/TorontoAmerica/Toronto (GMT-5:00) Brazil/AcreBrazil/Acre (GMT-5:00) Canada/EasternCanada/Eastern (GMT-5:00) CubaCuba (GMT-5:00) EST5EDTEST5EDT (GMT-5:00) Etc/GMT+5Etc/GMT+5 (GMT-5:00) JamaicaJamaica (GMT-5:00) SystemV/EST5SystemV/EST5 (GMT-5:00) SystemV/EST5EDTSystemV/EST5EDT (GMT-5:00) US/East-IndianaUS/East-Indiana (GMT-5:00) US/EasternUS/Eastern (GMT-5:00) US/MichiganUS/Michigan (GMT-5:00) ESTEST (GMT-5:00) IETIET (GMT-4:30) America/CaracasAmerica/Caracas (GMT-4:00) America/AnguillaAmerica/Anguilla (GMT-4:00) America/AntiguaAmerica/Antigua (GMT-4:00) America/ArubaAmerica/Aruba (GMT-4:00) America/AsuncionAmerica/Asuncion (GMT-4:00) America/BarbadosAmerica/Barbados (GMT-4:00) America/Blanc-SablonAmerica/Blanc-Sablon (GMT-4:00) America/Boa_VistaAmerica/Boa_Vista (GMT-4:00) America/Campo_GrandeAmerica/Campo_Grande (GMT-4:00) America/CuiabaAmerica/Cuiaba (GMT-4:00) America/CuracaoAmerica/Curacao (GMT-4:00) America/DominicaAmerica/Dominica (GMT-4:00) America/Glace_BayAmerica/Glace_Bay (GMT-4:00) America/Goose_BayAmerica/Goose_Bay (GMT-4:00) America/GrenadaAmerica/Grenada (GMT-4:00) America/GuadeloupeAmerica/Guadeloupe (GMT-4:00) America/GuyanaAmerica/Guyana (GMT-4:00) America/HalifaxAmerica/Halifax (GMT-4:00) America/KralendijkAmerica/Kralendijk (GMT-4:00) America/La_PazAmerica/La_Paz (GMT-4:00) America/Lower_PrincesAmerica/Lower_Princes (GMT-4:00) America/ManausAmerica/Manaus (GMT-4:00) America/MarigotAmerica/Marigot (GMT-4:00) America/MartiniqueAmerica/Martinique (GMT-4:00) America/MonctonAmerica/Moncton (GMT-4:00) America/MontserratAmerica/Montserrat (GMT-4:00) America/Port_of_SpainAmerica/Port_of_Spain (GMT-4:00) America/Porto_VelhoAmerica/Porto_Velho (GMT-4:00) America/Puerto_RicoAmerica/Puerto_Rico (GMT-4:00) America/SantiagoAmerica/Santiago (GMT-4:00) America/Santo_DomingoAmerica/Santo_Domingo (GMT-4:00) America/St_BarthelemyAmerica/St_Barthelemy (GMT-4:00) America/St_KittsAmerica/St_Kitts (GMT-4:00) America/St_LuciaAmerica/St_Lucia (GMT-4:00) America/St_ThomasAmerica/St_Thomas (GMT-4:00) America/St_VincentAmerica/St_Vincent (GMT-4:00) America/ThuleAmerica/Thule (GMT-4:00) America/TortolaAmerica/Tortola (GMT-4:00) America/VirginAmerica/Virgin (GMT-4:00) Antarctica/PalmerAntarctica/Palmer (GMT-4:00) Atlantic/BermudaAtlantic/Bermuda (GMT-4:00) Brazil/WestBrazil/West (GMT-4:00) Canada/AtlanticCanada/Atlantic (GMT-4:00) Chile/ContinentalChile/Continental (GMT-4:00) Etc/GMT+4Etc/GMT+4 (GMT-4:00) SystemV/AST4SystemV/AST4 (GMT-4:00) SystemV/AST4ADTSystemV/AST4ADT (GMT-4:00) PRTPRT (GMT-3:30) America/St_JohnsAmerica/St_Johns (GMT-3:30) Canada/NewfoundlandCanada/Newfoundland (GMT-3:30) CNTCNT (GMT-3:00) America/AraguainaAmerica/Araguaina (GMT-3:00) America/Argentina/Buenos_AiresAmerica/Argentina/Buenos_Aires (GMT-3:00) America/Argentina/CatamarcaAmerica/Argentina/Catamarca (GMT-3:00) America/Argentina/ComodRivadaviaAmerica/Argentina/ComodRivadavia (GMT-3:00) America/Argentina/CordobaAmerica/Argentina/Cordoba (GMT-3:00) America/Argentina/JujuyAmerica/Argentina/Jujuy (GMT-3:00) America/Argentina/La_RiojaAmerica/Argentina/La_Rioja (GMT-3:00) America/Argentina/MendozaAmerica/Argentina/Mendoza (GMT-3:00) America/Argentina/Rio_GallegosAmerica/Argentina/Rio_Gallegos (GMT-3:00) America/Argentina/SaltaAmerica/Argentina/Salta (GMT-3:00) America/Argentina/San_JuanAmerica/Argentina/San_Juan (GMT-3:00) America/Argentina/San_LuisAmerica/Argentina/San_Luis (GMT-3:00) America/Argentina/TucumanAmerica/Argentina/Tucuman (GMT-3:00) America/Argentina/UshuaiaAmerica/Argentina/Ushuaia (GMT-3:00) America/BahiaAmerica/Bahia (GMT-3:00) America/BelemAmerica/Belem (GMT-3:00) America/Buenos_AiresAmerica/Buenos_Aires (GMT-3:00) America/CatamarcaAmerica/Catamarca (GMT-3:00) America/CayenneAmerica/Cayenne (GMT-3:00) America/CordobaAmerica/Cordoba (GMT-3:00) America/FortalezaAmerica/Fortaleza (GMT-3:00) America/GodthabAmerica/Godthab (GMT-3:00) America/JujuyAmerica/Jujuy (GMT-3:00) America/MaceioAmerica/Maceio (GMT-3:00) America/MendozaAmerica/Mendoza (GMT-3:00) America/MiquelonAmerica/Miquelon (GMT-3:00) America/MontevideoAmerica/Montevideo (GMT-3:00) America/ParamariboAmerica/Paramaribo (GMT-3:00) America/RecifeAmerica/Recife (GMT-3:00) America/RosarioAmerica/Rosario (GMT-3:00) America/SantaremAmerica/Santarem (GMT-3:00) America/Sao_PauloAmerica/Sao_Paulo (GMT-3:00) Antarctica/RotheraAntarctica/Rothera (GMT-3:00) Atlantic/StanleyAtlantic/Stanley (GMT-3:00) Brazil/EastBrazil/East (GMT-3:00) Etc/GMT+3Etc/GMT+3 (GMT-3:00) AGTAGT (GMT-3:00) BETBET (GMT-2:00) America/NoronhaAmerica/Noronha (GMT-2:00) Atlantic/South_GeorgiaAtlantic/South_Georgia (GMT-2:00) Brazil/DeNoronhaBrazil/DeNoronha (GMT-2:00) Etc/GMT+2Etc/GMT+2 (GMT-1:00) America/ScoresbysundAmerica/Scoresbysund (GMT-1:00) Atlantic/AzoresAtlantic/Azores (GMT-1:00) Atlantic/Cape_VerdeAtlantic/Cape_Verde (GMT-1:00) Etc/GMT+1Etc/GMT+1 (GMT) Africa/AbidjanAfrica/Abidjan (GMT) Africa/AccraAfrica/Accra (GMT) Africa/BamakoAfrica/Bamako (GMT) Africa/BanjulAfrica/Banjul (GMT) Africa/BissauAfrica/Bissau (GMT) Africa/CasablancaAfrica/Casablanca (GMT) Africa/ConakryAfrica/Conakry (GMT) Africa/DakarAfrica/Dakar (GMT) Africa/El_AaiunAfrica/El_Aaiun (GMT) Africa/FreetownAfrica/Freetown (GMT) Africa/LomeAfrica/Lome (GMT) Africa/MonroviaAfrica/Monrovia (GMT) Africa/NouakchottAfrica/Nouakchott (GMT) Africa/OuagadougouAfrica/Ouagadougou (GMT) Africa/Sao_TomeAfrica/Sao_Tome (GMT) Africa/TimbuktuAfrica/Timbuktu (GMT) America/DanmarkshavnAmerica/Danmarkshavn (GMT) Atlantic/CanaryAtlantic/Canary (GMT) Atlantic/FaeroeAtlantic/Faeroe (GMT) Atlantic/FaroeAtlantic/Faroe (GMT) Atlantic/MadeiraAtlantic/Madeira (GMT) Atlantic/ReykjavikAtlantic/Reykjavik (GMT) Atlantic/St_HelenaAtlantic/St_Helena (GMT) EireEire (GMT) Etc/GMTEtc/GMT (GMT) Etc/GMT+0Etc/GMT+0 (GMT) Etc/GMT-0Etc/GMT-0 (GMT) Etc/GMT0Etc/GMT0 (GMT) Etc/GreenwichEtc/Greenwich (GMT) Etc/UCTEtc/UCT (GMT) Etc/UTCEtc/UTC (GMT) Etc/UniversalEtc/Universal (GMT) Etc/ZuluEtc/Zulu (GMT) Europe/BelfastEurope/Belfast (GMT) Europe/DublinEurope/Dublin (GMT) Europe/GuernseyEurope/Guernsey (GMT) Europe/Isle_of_ManEurope/Isle_of_Man (GMT) Europe/JerseyEurope/Jersey (GMT) Europe/LisbonEurope/Lisbon (GMT) Europe/LondonEurope/London (GMT) GBGB (GMT) GB-EireGB-Eire (GMT) GMTGMT (GMT) GMT0GMT0 (GMT) GreenwichGreenwich (GMT) IcelandIceland (GMT) PortugalPortugal (GMT) UCTUCT (GMT) UTCUTC (GMT) UniversalUniversal (GMT) WETWET (GMT) ZuluZulu (GMT+1:00) Africa/AlgiersAfrica/Algiers (GMT+1:00) Africa/BanguiAfrica/Bangui (GMT+1:00) Africa/BrazzavilleAfrica/Brazzaville (GMT+1:00) Africa/CeutaAfrica/Ceuta (GMT+1:00) Africa/DoualaAfrica/Douala (GMT+1:00) Africa/KinshasaAfrica/Kinshasa (GMT+1:00) Africa/LagosAfrica/Lagos (GMT+1:00) Africa/LibrevilleAfrica/Libreville (GMT+1:00) Africa/LuandaAfrica/Luanda (GMT+1:00) Africa/MalaboAfrica/Malabo (GMT+1:00) Africa/NdjamenaAfrica/Ndjamena (GMT+1:00) Africa/NiameyAfrica/Niamey (GMT+1:00) Africa/Porto-NovoAfrica/Porto-Novo (GMT+1:00) Africa/TunisAfrica/Tunis (GMT+1:00) Africa/WindhoekAfrica/Windhoek (GMT+1:00) Arctic/LongyearbyenArctic/Longyearbyen (GMT+1:00) Atlantic/Jan_MayenAtlantic/Jan_Mayen (GMT+1:00) CETCET (GMT+1:00) Etc/GMT-1Etc/GMT-1 (GMT+1:00) Europe/AmsterdamEurope/Amsterdam (GMT+1:00) Europe/AndorraEurope/Andorra (GMT+1:00) Europe/BelgradeEurope/Belgrade (GMT+1:00) Europe/BerlinEurope/Berlin (GMT+1:00) Europe/BratislavaEurope/Bratislava (GMT+1:00) Europe/BrusselsEurope/Brussels (GMT+1:00) Europe/BudapestEurope/Budapest (GMT+1:00) Europe/BusingenEurope/Busingen (GMT+1:00) Europe/CopenhagenEurope/Copenhagen (GMT+1:00) Europe/GibraltarEurope/Gibraltar (GMT+1:00) Europe/LjubljanaEurope/Ljubljana (GMT+1:00) Europe/LuxembourgEurope/Luxembourg (GMT+1:00) Europe/MadridEurope/Madrid (GMT+1:00) Europe/MaltaEurope/Malta (GMT+1:00) Europe/MonacoEurope/Monaco (GMT+1:00) Europe/OsloEurope/Oslo (GMT+1:00) Europe/ParisEurope/Paris (GMT+1:00) Europe/PodgoricaEurope/Podgorica (GMT+1:00) Europe/PragueEurope/Prague (GMT+1:00) Europe/RomeEurope/Rome (GMT+1:00) Europe/San_MarinoEurope/San_Marino (GMT+1:00) Europe/SarajevoEurope/Sarajevo (GMT+1:00) Europe/SkopjeEurope/Skopje (GMT+1:00) Europe/StockholmEurope/Stockholm (GMT+1:00) Europe/TiraneEurope/Tirane (GMT+1:00) Europe/VaduzEurope/Vaduz (GMT+1:00) Europe/VaticanEurope/Vatican (GMT+1:00) Europe/ViennaEurope/Vienna (GMT+1:00) Europe/WarsawEurope/Warsaw (GMT+1:00) Europe/ZagrebEurope/Zagreb (GMT+1:00) Europe/ZurichEurope/Zurich (GMT+1:00) METMET (GMT+1:00) PolandPoland (GMT+1:00) ECTECT (GMT+2:00) Africa/BlantyreAfrica/Blantyre (GMT+2:00) Africa/BujumburaAfrica/Bujumbura (GMT+2:00) Africa/CairoAfrica/Cairo (GMT+2:00) Africa/GaboroneAfrica/Gaborone (GMT+2:00) Africa/HarareAfrica/Harare (GMT+2:00) Africa/JohannesburgAfrica/Johannesburg (GMT+2:00) Africa/KigaliAfrica/Kigali (GMT+2:00) Africa/LubumbashiAfrica/Lubumbashi (GMT+2:00) Africa/LusakaAfrica/Lusaka (GMT+2:00) Africa/MaputoAfrica/Maputo (GMT+2:00) Africa/MaseruAfrica/Maseru (GMT+2:00) Africa/MbabaneAfrica/Mbabane (GMT+2:00) Africa/TripoliAfrica/Tripoli (GMT+2:00) Asia/AmmanAsia/Amman (GMT+2:00) Asia/BeirutAsia/Beirut (GMT+2:00) Asia/DamascusAsia/Damascus (GMT+2:00) Asia/GazaAsia/Gaza (GMT+2:00) Asia/HebronAsia/Hebron (GMT+2:00) Asia/IstanbulAsia/Istanbul (GMT+2:00) Asia/JerusalemAsia/Jerusalem (GMT+2:00) Asia/NicosiaAsia/Nicosia (GMT+2:00) Asia/Tel_AvivAsia/Tel_Aviv (GMT+2:00) EETEET (GMT+2:00) EgyptEgypt (GMT+2:00) Etc/GMT-2Etc/GMT-2 (GMT+2:00) Europe/AthensEurope/Athens (GMT+2:00) Europe/BucharestEurope/Bucharest (GMT+2:00) Europe/ChisinauEurope/Chisinau (GMT+2:00) Europe/HelsinkiEurope/Helsinki (GMT+2:00) Europe/IstanbulEurope/Istanbul (GMT+2:00) Europe/KievEurope/Kiev (GMT+2:00) Europe/MariehamnEurope/Mariehamn (GMT+2:00) Europe/NicosiaEurope/Nicosia (GMT+2:00) Europe/RigaEurope/Riga (GMT+2:00) Europe/SimferopolEurope/Simferopol (GMT+2:00) Europe/SofiaEurope/Sofia (GMT+2:00) Europe/TallinnEurope/Tallinn (GMT+2:00) Europe/TiraspolEurope/Tiraspol (GMT+2:00) Europe/UzhgorodEurope/Uzhgorod (GMT+2:00) Europe/VilniusEurope/Vilnius (GMT+2:00) Europe/ZaporozhyeEurope/Zaporozhye (GMT+2:00) IsraelIsrael (GMT+2:00) LibyaLibya (GMT+2:00) TurkeyTurkey (GMT+2:00) ARTART (GMT+2:00) CATCAT (GMT+3:00) Africa/Addis_AbabaAfrica/Addis_Ababa (GMT+3:00) Africa/AsmaraAfrica/Asmara (GMT+3:00) Africa/AsmeraAfrica/Asmera (GMT+3:00) Africa/Dar_es_SalaamAfrica/Dar_es_Salaam (GMT+3:00) Africa/DjiboutiAfrica/Djibouti (GMT+3:00) Africa/JubaAfrica/Juba (GMT+3:00) Africa/KampalaAfrica/Kampala (GMT+3:00) Africa/KhartoumAfrica/Khartoum (GMT+3:00) Africa/MogadishuAfrica/Mogadishu (GMT+3:00) Africa/NairobiAfrica/Nairobi (GMT+3:00) Antarctica/SyowaAntarctica/Syowa (GMT+3:00) Asia/AdenAsia/Aden (GMT+3:00) Asia/BaghdadAsia/Baghdad (GMT+3:00) Asia/BahrainAsia/Bahrain (GMT+3:00) Asia/KuwaitAsia/Kuwait (GMT+3:00) Asia/QatarAsia/Qatar (GMT+3:00) Asia/RiyadhAsia/Riyadh (GMT+3:00) Etc/GMT-3Etc/GMT-3 (GMT+3:00) Europe/KaliningradEurope/Kaliningrad (GMT+3:00) Europe/MinskEurope/Minsk (GMT+3:00) Indian/AntananarivoIndian/Antananarivo (GMT+3:00) Indian/ComoroIndian/Comoro (GMT+3:00) Indian/MayotteIndian/Mayotte (GMT+3:00) EATEAT (GMT+3:30) Asia/TehranAsia/Tehran (GMT+3:30) IranIran (GMT+4:00) Asia/BakuAsia/Baku (GMT+4:00) Asia/DubaiAsia/Dubai (GMT+4:00) Asia/MuscatAsia/Muscat (GMT+4:00) Asia/TbilisiAsia/Tbilisi (GMT+4:00) Asia/YerevanAsia/Yerevan (GMT+4:00) Etc/GMT-4Etc/GMT-4 (GMT+4:00) Europe/MoscowEurope/Moscow (GMT+4:00) Europe/SamaraEurope/Samara (GMT+4:00) Europe/VolgogradEurope/Volgograd (GMT+4:00) Indian/MaheIndian/Mahe (GMT+4:00) Indian/MauritiusIndian/Mauritius (GMT+4:00) Indian/ReunionIndian/Reunion (GMT+4:00) W-SUW-SU (GMT+4:00) NETNET (GMT+4:30) Asia/KabulAsia/Kabul (GMT+5:00) Antarctica/MawsonAntarctica/Mawson (GMT+5:00) Asia/AqtauAsia/Aqtau (GMT+5:00) Asia/AqtobeAsia/Aqtobe (GMT+5:00) Asia/AshgabatAsia/Ashgabat (GMT+5:00) Asia/AshkhabadAsia/Ashkhabad (GMT+5:00) Asia/DushanbeAsia/Dushanbe (GMT+5:00) Asia/KarachiAsia/Karachi (GMT+5:00) Asia/OralAsia/Oral (GMT+5:00) Asia/SamarkandAsia/Samarkand (GMT+5:00) Asia/TashkentAsia/Tashkent (GMT+5:00) Etc/GMT-5Etc/GMT-5 (GMT+5:00) Indian/KerguelenIndian/Kerguelen (GMT+5:00) Indian/MaldivesIndian/Maldives (GMT+5:00) PLTPLT (GMT+5:30) Asia/CalcuttaAsia/Calcutta (GMT+5:30) Asia/ColomboAsia/Colombo (GMT+5:30) Asia/KolkataAsia/Kolkata (GMT+5:30) ISTIST (GMT+5:45) Asia/KathmanduAsia/Kathmandu (GMT+5:45) Asia/KatmanduAsia/Katmandu (GMT+6:00) Antarctica/VostokAntarctica/Vostok (GMT+6:00) Asia/AlmatyAsia/Almaty (GMT+6:00) Asia/BishkekAsia/Bishkek (GMT+6:00) Asia/DaccaAsia/Dacca (GMT+6:00) Asia/DhakaAsia/Dhaka (GMT+6:00) Asia/QyzylordaAsia/Qyzylorda (GMT+6:00) Asia/ThimbuAsia/Thimbu (GMT+6:00) Asia/ThimphuAsia/Thimphu (GMT+6:00) Asia/YekaterinburgAsia/Yekaterinburg (GMT+6:00) Etc/GMT-6Etc/GMT-6 (GMT+6:00) Indian/ChagosIndian/Chagos (GMT+6:00) BSTBST (GMT+6:30) Asia/RangoonAsia/Rangoon (GMT+6:30) Indian/CocosIndian/Cocos (GMT+7:00) Antarctica/DavisAntarctica/Davis (GMT+7:00) Asia/BangkokAsia/Bangkok (GMT+7:00) Asia/Ho_Chi_MinhAsia/Ho_Chi_Minh (GMT+7:00) Asia/HovdAsia/Hovd (GMT+7:00) Asia/JakartaAsia/Jakarta (GMT+7:00) Asia/NovokuznetskAsia/Novokuznetsk (GMT+7:00) Asia/NovosibirskAsia/Novosibirsk (GMT+7:00) Asia/OmskAsia/Omsk (GMT+7:00) Asia/Phnom_PenhAsia/Phnom_Penh (GMT+7:00) Asia/PontianakAsia/Pontianak (GMT+7:00) Asia/SaigonAsia/Saigon (GMT+7:00) Asia/VientianeAsia/Vientiane (GMT+7:00) Etc/GMT-7Etc/GMT-7 (GMT+7:00) Indian/ChristmasIndian/Christmas (GMT+7:00) VSTVST (GMT+8:00) Antarctica/CaseyAntarctica/Casey (GMT+8:00) Asia/BruneiAsia/Brunei (GMT+8:00) Asia/ChoibalsanAsia/Choibalsan (GMT+8:00) Asia/ChongqingAsia/Chongqing (GMT+8:00) Asia/ChungkingAsia/Chungking (GMT+8:00) Asia/HarbinAsia/Harbin (GMT+8:00) Asia/Hong_KongAsia/Hong_Kong (GMT+8:00) Asia/KashgarAsia/Kashgar (GMT+8:00) Asia/KrasnoyarskAsia/Krasnoyarsk (GMT+8:00) Asia/Kuala_LumpurAsia/Kuala_Lumpur (GMT+8:00) Asia/KuchingAsia/Kuching (GMT+8:00) Asia/MacaoAsia/Macao (GMT+8:00) Asia/MacauAsia/Macau (GMT+8:00) Asia/MakassarAsia/Makassar (GMT+8:00) Asia/ManilaAsia/Manila (GMT+8:00) Asia/ShanghaiAsia/Shanghai (GMT+8:00) Asia/SingaporeAsia/Singapore (GMT+8:00) Asia/TaipeiAsia/Taipei (GMT+8:00) Asia/Ujung_PandangAsia/Ujung_Pandang (GMT+8:00) Asia/UlaanbaatarAsia/Ulaanbaatar (GMT+8:00) Asia/Ulan_BatorAsia/Ulan_Bator (GMT+8:00) Asia/UrumqiAsia/Urumqi (GMT+8:00) Australia/PerthAustralia/Perth (GMT+8:00) Australia/WestAustralia/West (GMT+8:00) Etc/GMT-8Etc/GMT-8 (GMT+8:00) HongkongHongkong (GMT+8:00) PRCPRC (GMT+8:00) SingaporeSingapore (GMT+8:00) CTTCTT (GMT+8:45) Australia/EuclaAustralia/Eucla (GMT+9:00) Asia/DiliAsia/Dili (GMT+9:00) Asia/IrkutskAsia/Irkutsk (GMT+9:00) Asia/JayapuraAsia/Jayapura (GMT+9:00) Asia/PyongyangAsia/Pyongyang (GMT+9:00) Asia/SeoulAsia/Seoul (GMT+9:00) Asia/TokyoAsia/Tokyo (GMT+9:00) Etc/GMT-9Etc/GMT-9 (GMT+9:00) JapanJapan (GMT+9:00) Pacific/PalauPacific/Palau (GMT+9:00) ROKROK (GMT+9:00) JSTJST (GMT+9:30) Australia/AdelaideAustralia/Adelaide (GMT+9:30) Australia/Broken_HillAustralia/Broken_Hill (GMT+9:30) Australia/DarwinAustralia/Darwin (GMT+9:30) Australia/NorthAustralia/North (GMT+9:30) Australia/SouthAustralia/South (GMT+9:30) Australia/YancowinnaAustralia/Yancowinna (GMT+9:30) ACTACT (GMT+10:00) Antarctica/DumontDUrvilleAntarctica/DumontDUrville (GMT+10:00) Asia/KhandygaAsia/Khandyga (GMT+10:00) Asia/YakutskAsia/Yakutsk (GMT+10:00) Australia/ACTAustralia/ACT (GMT+10:00) Australia/BrisbaneAustralia/Brisbane (GMT+10:00) Australia/CanberraAustralia/Canberra (GMT+10:00) Australia/CurrieAustralia/Currie (GMT+10:00) Australia/HobartAustralia/Hobart (GMT+10:00) Australia/LindemanAustralia/Lindeman (GMT+10:00) Australia/MelbourneAustralia/Melbourne (GMT+10:00) Australia/NSWAustralia/NSW (GMT+10:00) Australia/QueenslandAustralia/Queensland (GMT+10:00) Australia/SydneyAustralia/Sydney (GMT+10:00) Australia/TasmaniaAustralia/Tasmania (GMT+10:00) Australia/VictoriaAustralia/Victoria (GMT+10:00) Etc/GMT-10Etc/GMT-10 (GMT+10:00) Pacific/ChuukPacific/Chuuk (GMT+10:00) Pacific/GuamPacific/Guam (GMT+10:00) Pacific/Port_MoresbyPacific/Port_Moresby (GMT+10:00) Pacific/SaipanPacific/Saipan (GMT+10:00) Pacific/TrukPacific/Truk (GMT+10:00) Pacific/YapPacific/Yap (GMT+10:00) AETAET (GMT+10:30) Australia/LHIAustralia/LHI (GMT+10:30) Australia/Lord_HoweAustralia/Lord_Howe (GMT+11:00) Antarctica/MacquarieAntarctica/Macquarie (GMT+11:00) Asia/SakhalinAsia/Sakhalin (GMT+11:00) Asia/Ust-NeraAsia/Ust-Nera (GMT+11:00) Asia/VladivostokAsia/Vladivostok (GMT+11:00) Etc/GMT-11Etc/GMT-11 (GMT+11:00) Pacific/EfatePacific/Efate (GMT+11:00) Pacific/GuadalcanalPacific/Guadalcanal (GMT+11:00) Pacific/KosraePacific/Kosrae (GMT+11:00) Pacific/NoumeaPacific/Noumea (GMT+11:00) Pacific/PohnpeiPacific/Pohnpei (GMT+11:00) Pacific/PonapePacific/Ponape (GMT+11:00) SSTSST (GMT+11:30) Pacific/NorfolkPacific/Norfolk (GMT+12:00) Antarctica/McMurdoAntarctica/McMurdo (GMT+12:00) Antarctica/South_PoleAntarctica/South_Pole (GMT+12:00) Asia/AnadyrAsia/Anadyr (GMT+12:00) Asia/KamchatkaAsia/Kamchatka (GMT+12:00) Asia/MagadanAsia/Magadan (GMT+12:00) Etc/GMT-12Etc/GMT-12 (GMT+12:00) KwajaleinKwajalein (GMT+12:00) NZNZ (GMT+12:00) Pacific/AucklandPacific/Auckland (GMT+12:00) Pacific/FijiPacific/Fiji (GMT+12:00) Pacific/FunafutiPacific/Funafuti (GMT+12:00) Pacific/KwajaleinPacific/Kwajalein (GMT+12:00) Pacific/MajuroPacific/Majuro (GMT+12:00) Pacific/NauruPacific/Nauru (GMT+12:00) Pacific/TarawaPacific/Tarawa (GMT+12:00) Pacific/WakePacific/Wake (GMT+12:00) Pacific/WallisPacific/Wallis (GMT+12:00) NSTNST (GMT+12:45) NZ-CHATNZ-CHAT (GMT+12:45) Pacific/ChathamPacific/Chatham (GMT+13:00) Etc/GMT-13Etc/GMT-13 (GMT+13:00) Pacific/ApiaPacific/Apia (GMT+13:00) Pacific/EnderburyPacific/Enderbury (GMT+13:00) Pacific/FakaofoPacific/Fakaofo (GMT+13:00) Pacific/TongatapuPacific/Tongatapu (GMT+13:00) MITMIT (GMT+14:00) Etc/GMT-14Etc/GMT-14 (GMT+14:00) Pacific/KiritimatiPacific/Kiritimati 生成您的组合框

如果您想知道,上面的代码将打印

{{1}}

答案 1 :(得分:0)

这是一种执行方法:

private ArrayList<String> allTimeZone=new ArrayList<String>;

String[] options = TimeZone.getAvailableIDs();

        for (int i = 0; i < options.length; i++) {
            allTimeZone.add(options[i]);
        }
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(getContext(), android.R.layout.simple_list_item_1, allTimeZone);
        sp_select_timezone.setAdapter(adapter);


 sp_select_timezone.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
                // your code here
                for (int i = 0; i < allTimeZone.size(); i++) {
                    if (allTimeZone.get(i).contains((CharSequence) parentView.getItemAtPosition(position))) {
                        // City_id = allCitiesItems.get(i).getCityId();
                        Log.e("TimeZone", " " + allTimeZone.get(i));
                    }
                }
            }

            @Override
            public void onNothingSelected(AdapterView<?> parentView) {
                // your code here
            }

        });