Как получить часовой пояс из android mobile?



Я хочу получить часовой пояс с мобильного телефона Android при нажатии кнопки.

743   8  

8 ответов:

вы пробовали использовать TimeZone.getDefault():

большинство приложений будет использовать часовой пояс.getDefault() который возвращает часовой пояс на основе о часовом поясе, в котором выполняется программа.

Ref:http://developer.android.com/reference/java/util/TimeZone.html

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

выход:

часовой пояс GMT + 09: 30 Timezon id:: Австралия / Дарвин

Edit: исправлено дело

TimeZone.getDefault()

попробуйте этот код-

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

он возвращает выбранный пользователем часовой пояс.

Мне нужно смещение это не только включало время экономии дневного света, но и как numerial. Вот код, который я использовал в случае, если кто-то ищет пример.

Я получаю ответ от "3.5" (3:30') это то , что я ожидал бы в Тегеране, Иран зимой и "4.5" (4:30') на лето .

мне также нужна была строка, чтобы я мог отправить ее на сервер, поэтому вам может не понадобиться последняя линия.

для получения currect часовой пояс:

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);

согласно http://developer.android.com/reference/android/text/format/Time.html Вы должны использовать время.getCurrentTimezone () для получения текущего часового пояса устройства.

Самое Простое Решение С Простым Форматом Даты: 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   " );

==> выход : +05:30

часовой пояс часовой пояс = часовой пояс.getDefault(); часовой пояс.getID();

Он будет печатать как

Asia/Kolkata

Comments

    Ничего не найдено.