Где в андроиде прописаны часовые пояса. Как изменить и установить время на андроиде

Вспомнил, что вместе с коллегой по работе уже давно решил эту проблему на Android (HTC Hero) и хотел написать в песочницу, но все откладывал на потом. А сегодня появилась очередная статья «Обновление временных зон на Android» практически похоронившая идею написания и, подтвердившая идею, что не надо откладывать важные вещи на потом. Но… немного повспоминав, я всё-таки решился, потому что в данных статьях рассматривалась проблемы связанные с переходом на зимнее/летнее время и совсем не затрагивался момент касающийся работы виджета часов с погодой и автоматического определения времени через оператора сотовой связи.

Все началось с того, что был приобретен новый телефон HTC Desire S.

В процессе настройки выяснилось, что в настройках даты и времени нет возможности выбрать мой город - Новосибирск и приходиться выбирать альтернативный город с подходящим часовым поясом.
Так же выяснилось, что синхронизация времени от оператора работает как-то загадочно и виджет HTC Clock в режиме отображения погоды и включенной автоматической синхронизацией отображает некорректное время.

На картинке может показаться, что всё в порядке, однако время на самом деле на телефоне убежало на час назад. Можно отключить автоматическое определение и выставит зону руками, но тогда получим следующее:

Как видно, Новосибирск в списке отсутствует. Нам пришлось выбрать Bangkok, при этом системное время в телефоне стало правильным, но виджет отображает по-прежнему со смещением на час назад.

Попробовали найти решение в сети. Обнаружили что мы не одиноки, причем подобные проблемы существуют не только у жителей Новосибирска, но и у жителей других городов планеты. Комплексного решения всех указанных проблем мы не обнаружили.

Можно было на все это забить, отключить, выставлять руками и не обращать внимания на виджет, но… это же Android - а это значит, что мы можем и должны его победить!

И так, мы начинаем
Новый телефон был на тот момент не рутованый и сделать его таковым не представлялось возможным. Поэтому для экспериментов был взят HTC Hero с оригинальной прошивкой + root/busybox/apps2sd, на котором были точно такие же проблемы.

Нашли через osmonitor приложение, в котором выбирается часовой пояс - (com.android.settings). Посмотрели исходники пакета com.android.settings и выяснили, что ресурсы загружаются из XML файла timezones.xml .

Достали apk этого приложения /system/app/Settings.apk следующей командой:
adb pull /system/app/Settings.apk

Не стану описывать все подробности работы APK manager и Android SDK tools, думаю, заинтересованные люди легко разберутся. Остановлюсь только на ключевых моментах.

С помощью APK manager произвели следующие действия

  • decompile
  • ручками в другом окне отредактировали файлы
  • compile. При компиляции APK manager задает вопросы:
    «Is this a system apk (y/n)» – отвечаем yes
    «Aside from the signatures, would you like to copy over any additional files that you didn"t modify from the original apk in order to ensure least # of errors (y/n)» -тоже отвечаем yes.
    Далее действуем по предложенной APK manager-ом инструкции, в другом окне удаляем из директории keep файлы, которые мы изменили + resources.arsc.
  • Завершаем сборку.
Мы сделали изменения для своего города, по аналогии жители других городов тоже смогут попробовать устранить данную проблему на своих телефонах.

Получившийся apk поместили обратно в телефон:
adb push Settings.apk /system/app/

Этим мы добились того что в списке ручного выбора временной зоны появился Novosibirsk.

Наш город появился в списке, но определение временной зоны в автоматическом режиме по-прежнему работало неверно. Для этого мы пошли дальше и выяснили что, настройки временных зон для городов хранятся в базе данных, а именно в файле /system/etc/WPDB.zip.
Достав его из телефона с помощью всё того же adb, мы извлекли из него две базы

  • WP_0409WWE.db
  • WP_0419RUS.db
для английского и русского языков соответственно. Посмотрев на данные, мы обнаружили, что для нашего города, временная зона прописана как Asia/Almaty, пришлось поправить и этот момент, для этого в базах поменяли timezoneId на Asia/Novosibirsk (использовали Lita в качестве редактора SQLite database):
update locationlist set timezoneId = "Asia/Novosibirsk" where name = "Novosibirsk" -- (для WP_0409WWE.db) update locationlist set timezoneId = "Asia/Novosibirsk" where name = "Новосибирск" -- (для WP_0419RUS.db)
Кроме того, еще в одну базу добавили запись о нашем городе, а именно в /system/etc/timezones.db
Добавили запись, timezoneId: Asia/Novosibirsk, остальные поля Novosibirsk, ru – Новосибирск.

Для того чтобы все сделанные изменения вступили в силу, сбросили кэш для приложений
Clock, Settings и Weather Provider. Ну и для полной уверенности перезапустили телефон.

Итоги

В результате получили вот такие пироги:

Как мы видим, в автоматическом режиме зона определяется корректно, системное время и время на виджете одинаковое, ну и в ручном режиме все в порядке.

Ввязавшись в войну со временем, мы решили идти до конца. А именно решить и проблему отмены перехода на зимнее/летнее время.
Скачали самую свежую tzdata (aka timeinfo.dat) с, тогда еще доступного, ресурса

Кажется, что такое простое действие, как настройка даты и времени на Android, не должно вызывать затруднений. Действительно, для опытных владельцев смартфонов или планшетов это банальная операция. Однако для тех, кто впервые держит в руках устройство под управлением этой операционной системы, настройка данных параметров может вызывать вопросы. Ниже разберем, как настроить дату и время на Android.

Меняем дату и время вручную

Для корректировки времени и даты вручную, нужно войти в настройки устройства. Сделать это можно двумя путями:

  1. Вертикальным от строки состояния раздвинуть шторку и тапнуть на иконке, изображающую шестеренку.
  2. Войти в меню приложений, тапнув по иконке с изображением шести точек, расположенной в док-баре. Найти иконку с изображением шестеренки и коротким по ней открыть раздел «Настройки ».

Найдите внизу открывшегося списка пункт «Дата и время » и коротким касание по нему откройте данную вкладку. В некоторых гаджетах меню настроек может выглядеть иначе, а настройки времени и даты надо искать в разделе «Опции ».

Ручная настройка времени и даты будет доступна, если снята галочка с опции «Автоопределение времени » или «Дата и время сети » находится в положении выключено (в зависимости от версии Android).

  • Чтобы поменять дату, выбираем пункт “Дата » или «Установить дату », где выбираем число, месяц и год и подтверждаем тапом по кнопке «Ок».
  • Чтобы поменять время, нужно выбрать пункт «Время » или «Установка времени », где устанавливаем правильное время и подтверждаем тапом по кнопке «Ок». Здесь же можно установить формат времени – 12 часовой или 24 часовой.

Автоматическая установка даты и времени

Android может выстанавливать время и дату в автоматическом режиме. В этом режиме сведения синхронизируются из сети оператора. Естественно, сим карта должна быть установлена в устройство. Для автоматической установки времени и даты нужно установить галочку на пункте «Автоопределение времени ». Ручная установка при этом станет недоступна.

В наше время всё больше людей отходят от использования наручных часов, предпочитая им часы смартфона. Однако телефонные дата и время могут сбиться при перезагрузке устройства или из-за ошибки системы. В таких случаях приходится менять настройки самостоятельно. Чтобы сделать это правильно, рассмотрим некоторые особенности настроек даты и времени на Android.

Неточные дата и время на Android могут привести к прекращению или некорректной работе некоторых приложений . Это происходит из-за того, что программы автоматически сверяют дату окончания своей лицензии с датой, установленной на телефоне. И если что-то не сходится, то они просто перестают работать.

Как изменить дату и время на Android

Теперь перейдём к ручной настройке параметров времени.

Видео: как установить время и дату на Android

Возможные проблемы при настройке времени и их решения

После установки новых параметров времени вы можете столкнуться с двумя проблемами:

  • настройки времени постоянно сбрасываются;
  • на экране устройства появилась запись «В приложении Настройки произошла ошибка».

Исправить эти недоразумения вам помогут следующие способы.

Перезагрузка

Сначала попробуйте перезагрузить смартфон. Это действие запустит все процессы заново, и, возможно, ошибки пропадут, а настройки времени сохранятся.

Автосинхронизация

Если перезагрузка устройства не сработала должным образом, нужно включить автосинхронизацию. Эта функция позволяет телефону самостоятельно обновлять настройки времени при подключении к интернету. Чтобы включить автосинхронизацию, выполните следующие шаги.

Установка приложений 360root и ClockSync

Если в вашем телефоне отсутствует функция автосинхронизации, нужно будет проделать следующие шаги.


Сброс настроек до заводских

Однако и после включения автоматической синхронизации время всё равно может самостоятельно меняться или выдавать ошибку. В этом случае придётся выполнить сброс настроек телефона до заводских.

Как выбрать, настроить или добавить новый часовой пояс

Чтобы узнать часовой пояс своего региона, зайдите на сайт http://www.gmt.su/city-time/country/Россия/ и найдите в списке ближайший к вам город. Справа страницы вы увидите данные о часовом поясе. Например, в Калининграде это GMT +02:00. Эту информацию вам и нужно будет выбрать в настройках своего телефона.

Изменение даты и времени на телефоне и планшете под Андроид – простейшие операции. Но только для тех, кто хорошо освоил устройство и знает его, как свои пять пальцев. Тема вызвала у вас улыбку? Полноте, сударь: все мы были новичками, и то, что кажется вам элементарным, когда-то казалось непонятным и сложным.

Эта статья для тех, кто только готовится стать «Гуру смартфонов» и «Богом ОС Андроид», точнее – для начинающих. Итак, читайте, как поменять дату в Android, а также настроить на нем время и часовой пояс.


Как поменять дату и время в Android устройстве

Настройка времени и сегодняшнего числа средствами системы

Чтобы изменить параметры даты и времени, запустим средство управления настройками системы – приложение «Параметры ».

Перейдем в раздел «Дата и время ». Опции, которые нас интересуют, находятся здесь. А именно:

  • Автонастройка времени и числа.
  • Автонастройка часового пояса.
  • Установка даты вручную.
  • Ручной выбор часового пояса.

Если хотите, чтобы телефон сам установил текущее время и число, коснитесь верхней кнопки, показанной на скриншоте выше. Выберите один из двух способов синхронизации – по сети или посредством GPS.

Чтобы функция работала, устройство должно периодически подключаться к Интернету или оператору сотовой связи. Иначе синхронизироваться ему будет не с чем.

Если данные отобразились неправильно, в настройках этого же раздела измените часовой пояс. Нажмите кнопку «Выбор часового пояса » и укажите регион, в котором находитесь сейчас.

Или активируйте «Автоматическую синхронизацию часового пояса по сети », как показано на скриншоте ниже.

Когда задействована автонастройка текущего времени и числа, кнопки ручного изменения этих параметров становятся неактивными. Чтобы они снова стали доступны, синхронизацию нужно выключить:

После этого зайдите в раздел «Установка даты »:

И отметьте в календаре сегодняшнее число. Или любое другое. Для сохранения нажмите «Установить ».

Если нужно, проделайте эту же операцию со временем.

Что делать, если число сбивается, а системные часы спешат или отстают

Подобным «недугом» нередко страдают безымянные устройства из Поднебесной. Причина – кривая прошивка или некачественные радиоэлементы системной платы. С таким дефектом часто ничего поделать нельзя, так как другой подходящей прошивки может и не быть, а ремонт обойдется дороже покупки нового девайса. Приходится искать обходные пути.

По сути, путь только один – установить стороннее приложение, которое будет маскировать недостаток. Мой выбор пал на ClockSync – бесплатную утилиту, которая синхронизирует время и число на устройстве независимо от настроек системы.

Единственная сложность при его применении, это необходимость получения прав root (суперпользователя, имеющего доступ к защищенным системным файлам и функциям). Всё остальное очень просто – достаточно отключить синхронизацию в параметрах устройства (как это сделать, я рассказал выше) и включить в самой утилите.

Для этого:

  • Запустите ClockSync и коснитесь кнопки меню (три точки в верхнем правом углу). Выберите «Настройки ».

  • В разделе меню «Автоматическая синхронизация » отметьте «Включить ». Ниже можете задать временной интервал синхронизации, задействовать режим высокой точности, активировать опции экономии трафика и заряда батареи, включить автонастройку часовых поясов и т. д.
  • Если после этого программа показывает неточное время и число, перезагрузите гаджет (выключите и включите). Вот и все дела.

При использовании ClockSync старайтесь выключать телефон или планшет как можно реже и хотя бы раз в сутки подключать его к Интернету (чтобы не пропускать циклы синхронизации). Тогда показания утилиты будут максимально точны.

Поздравляю! Вы сделали очередной шажок к освоению функций мобильных девайсов. Надеюсь, было несложно. Кстати, все я получил так, как написано в статье по ссылке. Возможно, вам она тоже будет интересна.

  1. Опция «Автоматическая установка даты и времени». Ее обычно используют в мобильных устройствах на операционной системе Андроид с подключением к интернету. Она позволяет синхронизировать часы мобильного устройства с часами, расположенными на сервере интернет-провайдера. При ее включении изменить дату и время вручную будет невозможно. Поэтому галочку с этой опции нужно снять.
  2. Во многих устройствах на андроиде есть функция автоматического выбора часового пояса (синхронизация по сети или GPS). Чтобы получить доступ к ручной настройке ее также необходимо отключить.
  3. Выбор часового пояса. При нажатии на кнопку открывается список городов с различными часовыми поясами. Если в нем нет населенного пункта, в котором вы проживаете, надо просто выбрать расположенный ближе к вашему месту жительства.
  4. Установка даты. При нажатии на этот пункт откроется календарь. Чтобы изменить дату, нужно просто выбрать в нем конкретное число, месяц и год. Нажать на кнопку «Ок» («Готово»).
  5. Формат отображения (24- или 12-часовой). При использовании 12-часового формата время после полудня будет отсчитываться, начиная с единицы (вместо 13 - 1 час и т. д.).
  6. Настройка времени. Эта опция позволяет установить время, выбирая соответствующие значения из столбиков, обозначающих часы и минуты. Затем нажать на кнопку «Готово» (Ок).
  7. Чтобы вернуться на рабочий стол после завершения процедуры, достаточно нажать на стрелку, направленную вверх. Она расположена внизу страницы.