Что происходит, когда страна меняет свой график летнего времени? Например, Израиль только что продлил свое летнее время на месяц. Похоже, что для этого не было выпущено обновление прошивки от Google. Как Android обновляет свои часовые пояса и время?
Что происходит, когда страна меняет свой график летнего времени? Например, Израиль только что продлил свое летнее время на месяц. Похоже, что для этого не было выпущено обновление прошивки от Google. Как Android обновляет свои часовые пояса и время?
Ответы:
Время обновляется с использованием определенных протоколов. Обмен информацией может включать флаг DST (по крайней мере, я бы сделал это, если бы я сделал спецификации), а также TZ и метку времени Unix. Но учитывая, что даже NTP не делает этого (ни TZ, ни DST), это может быть сомнительным.
Пока что мысли. Однако устройства GSM, такие как многие смартфоны Android, скорее используют NITZ (идентификатор сети и часовой пояс), который также указывается (согласно Википедии):
Этот стандарт позволяет сети «передавать свою текущую идентификационную информацию, универсальное время, DST и LTZ» 1, но каждый из них является необязательным, и поддержка между поставщиком и оператором RAN варьируется. Это создает проблему для производителей устройств, которые обязаны поддерживать сложную базу данных часовых поясов, а не полагаться на оператора сети.
Из этого мы можем узнать: возможно , эта информация предоставляется через NITZ, поскольку спецификации это позволяют. Но сетевые поставщики также могут включать дополнительные источники для обеспечения этого.
Еще один момент заключается в том, что не все перевозчики поддерживают NITZ (см. Википедию ). Я не уверен, что они используют вместо этого (хорошим предположением может быть Синхронизация времени эталонной трансляции ); но разные перевозчики могут использовать разные методы. Поэтому мне кажется, что нет «общего ответа» - как вы также можете видеть в этой дискуссии : иногда (или, скорее, «в некоторых местах») это работает, в других - нет.
Если вы хотите копать глубже: