Standard-Android-Zeitzonenliste

Ich frage mich, ob ich irgendwo die Standard-Code für Zeitzone Auswahlliste für Android-Version 2.3.3?

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

  • Wie behandle ich Zeitzonenunterschied zwischen Server und nativer Android-Anwendung?
  • Was sind einige Beispiele von Werten, die von TimeZone.getAvailableIDs () zurückgegeben werden?
  • Android Wie bekomme ich Zeitunterschied zwischen zwei Zeitzonen in Android?
  • Aktualisieren Sie Android-Zeitzonendaten
  • Jodatime, wie man weiß, ob die Sommerzeit eingeschaltet ist
  • TIMEZONE_CHANGED wird alle paar Sekunden empfangen
  • Timezone Problem in Android
  • Android, wie man Zeitzone durch Anwendung setzt
  • 2 Solutions collect form web for “Standard-Android-Zeitzonenliste”

    String[] ids=TimeZone.getAvailableIDs(); for(int i=0;i<ids.length;i++) { System.out.println("Availalbe ids.................."+ids[i]); TimeZone d= TimeZone.getTimeZone(ids[i]); System.out.println("time zone."+d.getDisplayName()); System.out.println("savings."+d.getDSTSavings()); System.out.println("offset."+d.getRawOffset()); ///////////////////////////////////////////////////// if (!ids[i].matches(".*/.*")) { continue; } String region = ids[i].replaceAll(".*/", "").replaceAll("_", " "); int hours = Math.abs(d.getRawOffset()) / 3600000; int minutes = Math.abs(d.getRawOffset() / 60000) % 60; String sign = d.getRawOffset() >= 0 ? "+" : "-"; String timeZonePretty = String.format("(UTC %s %02d:%02d) %s", sign, hours, minutes, region); System.out.println(timeZonePretty); ////////////////////////////////////////////////////////////////// } ListView listitems=(ListView)findViewById(R.id.list); ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,ids); listitems.setAdapter(adapter); } 

    Die Dokumentation für TimeZone. http://developer.android.com/reference/java/util/TimeZone.html

    Zeitzone einstellen

    Nachfolgend ist Beispielcode für Einstellungen Zeitzone nach Amerika

      // First Create Object of Calendar Class Calendar calendar = Calendar.getInstance(); // Now Set the Date using DateFormat Class SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy hh:mm:ss z"); // Finally Set the time zone using SimpleDateFormat Class's setTimeZone() Method sdf.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles")); 

    Leider nehmen Android-Einstellungen diese Zeitzonenliste aus einem XML ein, das in der Anwendung "Einstellungen" enthalten ist. Sie sehen dies im Quellcode (Zeile 161):

      private List<HashMap> getZones() { List<HashMap> myData = new ArrayList<HashMap>(); long date = Calendar.getInstance().getTimeInMillis(); try { XmlResourceParser xrp = getResources().getXml(R.xml.timezones); ... } 

    Andere Anwendungen wie Google Kalender haben ihre eigenen Arrays von Werten. Es kann überprüft werden, indem Reverse Engineering dieser Ressourcen.

    Also, es sei denn, du willst deine eigene Liste pflegen (wenn du mehrsprachig in Betracht ziehst …), würde ich dir empfehlen, eine reduzierte Liste von java.util.TimeZone zu haben und nur jene Zeitzonen zu zeigen, die du willst, als @ Raghunandan empfahl Ihnen in der Antwort seiner Antwort.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.