Come get l'abbreviazione / codice paese del fuso orario mobile in android?

Come get l'Abbreviazione di Time Zone come IST (India Standard Time), ET (Eastern Time) e tutti.

Ho usato il codice riportto di seguito per get le informazioni sul fuso orario in android,

  • Schermata Android e Blocco Pattern
  • Android: WindowManager $ BadTockenException su Spinner Click
  • Errore di Android in Eclipse: "Imansible eseguire la dex: Imansible fondere il nuovo indice 65799 in un'istruzione non jumbo!"
  • getMapAsync () in Frammento
  • Rimuove il bordo di messa a fuoco di EditText
  • Come scalare la bitmap alla dimensione dello schermo?
  • Opzione 1:

    String mobileTimeZone = Calendar.getInstance().getTimeZone() .getDisplayName(false, TimeZone.SHORT); 

    Ho scelto il fuso orario differente e l'output come segue,

    GMT + 13: 00

    GMT + 00: 00

    Ma quando le impostazioni del fuso orario mi danno il codice abbreviazione corretto come output che è sotto,

    est

    Inoltre ho provato il codice riportto di seguito che fornisce la descrizione completa del fuso orario.

    Opzione 2:

     String mobileTimeZone = Calendar.getInstance().getTimeZone().getID(); 

    Ottenere l'output sotto che non è altro che nome della zona:

    Pacifico / Midway

    Pacific / Honolulu

    America / Montevideo

    C'è un elenco di id o di tabella che ha tutto il fuso orario per me per mapparlo.

    E anche bisogno di considerare il risparmio di luce del giorno.

    Aiutimi a get l'abbreviazione di Time Zone da android mobile.

    One Solution collect form web for “Come get l'abbreviazione / codice paese del fuso orario mobile in android?”

    Informazioni sulla terminologia:

    Chiamiamo stringhe come "America / Denver", ecc. (In formato regione / città) identificatori di fuso orario , non nomi. Questi id sono definiti in IANA-TZDB. Nomi e abbreviazioni del fuso orario sono un concetto completamente diverso. Questi dati di solito hanno origine in file CLDR (dal consorzio Unicode, ad esempio qui ) e corrispondono a ciò che la maggior parte delle persone si aspetta nei loro LOCALI. Questi nomi sono altamente localizzati. In generale, non esiste uno standard internazionale, né per gli identificatori né per i nomi. Quelle più recenti stanno seguendo le abitudini locali.

    Mappatura:

    Una mapping dagli identificatori del fuso orario ai codici nazionali e viceversa può essere trovata in IANA-TZDB . È quindi ansible vedere rapidamente che non ci sono mappe univoche come ci si aspetta. Esempi:

    Europa / Zurigo può essere valida in Svizzera, Germania (sic!) E Liechtenstein.

    O triviale:

    Gli Stati Uniti hanno più di un fuso orario (America / New_York, America / Chicago, ecc.)

    La tua speranza di get abbreviazioni di un fuso orario uniche utilizzando l'espressione

     Calendar.getInstance().getTimeZone().getDisplayName(false, TimeZone.SHORT); 

    non è realistico. Il metodo per get le abbreviazioni di tz descritto è corretto. Tuttavia, come lei stesso ha notato nell'altro SO-post i risultati differiscono da un dispositivo Android a un altro. Il motivo principale è che i dispositivi diversi (dalvik vms) hanno spesso dati diversi per i nomi dei fusori (e anche i OpenJDK-Oracle-VM).

    Di solito non è ansible get una mapping unica dai nomi dei timezone e dalle abbreviazioni ai codici nazionali. Esempi di count: "IST" può sopportre "India Time Standard" o per il fuso orario di Israele. Oppure: "BST" è usato in "Europa / Londra" (durante l'estate) o in "Pacifico / Bougainville" (tutto l'anno).

    A proposito del risparmio di luce:

    Gli identificatori NON sono sensibili per il risparmio dell'ora legale. I dati relativi possono essere legati all'ora legale o less, a seconda del tempo associato. I nomi e le abbreviazioni sono spesso (non sempre) sensibili, confrontare ad esempio "PST" o "PDT" negli Stati Uniti.

    Riepilogo e consulenza:

    Non utilizzare nomi dei timezone o abbreviazioni per nient'altro che per scopi di visualizzazione. Non utilizzare tali dati localizzati per scopi di conclusione o di memorizzazione.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.