it-swarm.com.de

Wie bekomme ich TimeZone von einem Android-Handy?

Ich möchte beim Klicken auf eine Schaltfläche die Zeitzone vom Android-Handy abrufen.

112
asha v

Haben Sie versucht, TimeZone.getDefault() zu verwenden:

Die meisten Anwendungen verwenden TimeZone.getDefault (), wodurch eine TimeZone-basierte .__ zurückgegeben wird. in der Zeitzone, in der das Programm läuft.

Ref: http://developer.Android.com/reference/Java/util/TimeZone.html

162
MasterCassim
TimeZone tz = TimeZone.getDefault();
System.out.println("TimeZone   "+tz.getDisplayName(false, TimeZone.SHORT)+" Timezon id :: " +tz.getID());

Ausgabe:

TimeZone GMT + 09: 30 Timezon id :: Australia/Darwin

111
Zulfiqar

Bearbeiten: den Fall korrigiert

TimeZone.getDefault()

17
Jigar Joshi

Versuchen Sie diesen Code-

Calendar cal = Calendar.getInstance();
TimeZone tz = cal.getTimeZone();

Die vom Benutzer ausgewählte Zeitzone wird zurückgegeben.

12
anujprashar

Ich brauchte denoffset, der nicht nur die Tageslicht-Einsparungzeit enthielt, sondern auch als -Zahl . Hier ist der Code, den ich verwendet habe, falls jemand nach einem Beispiel sucht.

Ich bekomme eine Antwort von "3,5" (3:30 ') was ich in Teheran, Iran im Winter und "4,5" (4:30') für den Sommer erwarten würde.

Ich brauchte es auch als Zeichenfolge, damit ich es auf einem Server posten konnte, sodass Sie möglicherweise nicht die letzte Zeile benötigen.

um eine korrekte Zeitzone zu erhalten:

TimeZone tz = TimeZone.getDefault();
Date now = new Date();
//Import part : x.0 for double number
double offsetFromUtc = tz.getOffset(now.getTime()) / 3600000.0;
String m2tTimeZoneIs = Double.parseDouble(offsetFromUtc);
9

Einfachste Lösung mit einfachem Datumsformat: SimpleDateFormat ("ZZZZZ"):

 Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT"),
                Locale.getDefault());
        Date currentLocalTime = calendar.getTime();

        DateFormat date = new SimpleDateFormat("ZZZZZ",Locale.getDefault());
        String localTime = date.format(currentLocalTime);
        System.out.println(localTime+ "  TimeZone   " );

==> Die Ausgabe ist: +05: 30 

3
Jaydeep purohit

Gemäß http://developer.Android.com/reference/Android/text/format/Time.html sollten Sie Time.getCurrentTimezone () verwenden, um die aktuelle Zeitzone des Geräts abzurufen.

2
Thom

TimeZone timeZone = TimeZone.getDefault (); timeZone.getID ();

Es wird wie gedruckt

Asia/Kolkata
2
Raja Jawahar

Für Geräte mit API 26 und höher können Sie es folgendermaßen erhalten:

ZonedDateTime.now().getZone().toString();
0
taurelas