Почему мой Android не перешел на летнее время и как это исправить?

Мой Galaxy Nexus, Jelly Bean, был настроен на автоматическую дату и время, автоматический часовой пояс, и был показан правильный часовой пояс: «GMT -03:00, время Бразилии». Здесь, в Бразилии, сегодня начинается переход на летнее время. Андроид этого не обнаружил.

Справедливости ради следует отметить, что Microsoft на протяжении многих лет также запускала летнее время в своих продуктах Windows не на той неделе. Если я правильно помню, от нашего правительства потребовался новый закон, чтобы сделать летнее время более предсказуемым, поэтому в последние несколько лет Windows сделала это правильно.

Я не знаю, заставит ли Android переход на летнее время начаться не в те выходные или он вообще не будет работать. Как я могу это исправить?

Ваши часы не настраиваются оператором автоматически?
@AlEverett Очевидно, нет, я могу что-нибудь сделать, чтобы это произошло?
Возможно, уровень телефонии не понимает семантику NITZ, которая передается по сотовой сети... это сильно зависит от уровня RIL, который справится с этим за вас.

Ответы (5)

Вам нужно будет изучить, как установить это на Galaxy Nexus и Jelly Bean , но...


В настоящее время вы используете " GMT -03:00, время Бразилии ", и это не включает летнее время по умолчанию.

Вместо этого вам нужно использовать (один из):

 America/Bahia
 America/Sao_Paulo

Все они используют UTC -2:00 для летнего времени.

См.: Википедия: Время в Бразилии.

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

Не во всех регионах Бразилии соблюдается летнее время, поэтому вы можете попробовать указать город/регион, в котором соблюдается летнее время.

http://en.wikipedia.org/wiki/Летнее_время_by_region_and_country#Бразилия

Когда я использую «Автоматический часовой пояс, используйте часовой пояс, предоставленный сетью», он дает мне «GMT -03:00, время Бразилии».

Когда я устанавливаю его вручную, в названии есть только один вариант с названием Brasilia: «GMT -02:00, время Brasilia». Использование этого устраняет проблему и дает мне правильное время.

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

вам следует изменить настройки часов в вашем маршрутизаторе, чтобы исправить это, так как ваши настройки времени и даты берутся непосредственно из него, потому что Nexus 7 не имеет SIM-карты, с которой он мог бы получать местное время.

С наилучшими пожеланиями.

Я не упомянул Nexus 7. Я сказал Galaxy Nexus. В нем есть SIM-карта.

Android, как и большинство популярных мобильных ОС, имеет 2 варианта, как указано выше: 1. Ручная установка времени (без выбора опции автоматического времени и часового пояса) 2. Автоматическая установка времени/часового пояса от поставщика услуг связи/сети.

Вы получите их в настройках (на вкладке/категории системы), если будете искать время.

Теперь для 1, как очевидно. Вы должны установить его назад / вперед во время DST / DST в течение нескольких дней. Для 2 вы должны выбрать как автоматическое время, так и часовой пояс от сетевого провайдера. Это не работает, если вы выбираете только автоматическое время.

Однако даже если оба они установлены на автоматический режим, у некоторых сетевых провайдеров недостаточно вышек, чтобы обрабатывать и различать 2 региона, в одном из которых есть летнее время, а в другом нет. Единственное решение в этом случае - вручную установить часовой пояс, исходя из ваших знаний о том, каким он должен быть.

Это должно помочь.