Почему часовой пояс отображается в виде числа?

Почему часовой пояс отображается в виде числа?

Это OpenSuse Leap 42.1, и я не знаю, почему или как это происходит:

$ date
Tue 18 Apr 10:49:34 -03 2017

Часовой пояс отображается как -03 (или -02) вместо осмысленного имени (в моем случае BRT/BRST). Попробовал поискать, но это кажется настолько непонятным, что результаты всегда в форме"как изменить часовой пояс"

EDIT: Ответы на комментарии:

$ date +%Z
-03
$ timedatectl
      Local time: Tue 2017-04-18 11:38:26 -03
  Universal time: Tue 2017-04-18 14:38:26 UTC
        RTC time: Tue 2017-04-18 14:38:26
        Timezone: America/Sao_Paulo (-03, -0300)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no

решение1

Вот как это теперь определяется в официальной стандартной базе данных часовых поясов IANA.

Видетьftp://ftp.iana.org/tz/tzdb-2017b/southamerica

Название часового пояса в зимнее время — -03. Это соответствует смещению UTC. Это полезнее, чем такие CETнеоднозначные вещи (которые означают разные вещи для разных людей).

Это, по-видимому, недавно изменилось. Сравнитьftp://ftp.iana.org/tz/tzdb-2017a/southamerica(2017-02-28) сftp://ftp.iana.org/tz/tzdb-2016j/southamerica(2016-11-23) что было BRTвместо этого.

TheNEWSфайл для выпуска 2017aсостояния:

[...]
Переключитесь на числовые сокращения часовых поясов для Южной Америки в рамках текущего проекта по удалению придуманных сокращений. Это позволяет избежать необходимости придумывать сокращение для нового чилийского нового пояса. Аналогичным образом, перейдите с придуманных на числовые сокращения часовых поясов для Афганистана, Американского Самоа, Азорских островов, Бангладеш, Бутана, Британской территории в Индийском океане, Брунея, Кабо-Верде, островов Чатем, Рождества I, Кокосовых (Килинг) островов, островов Кука, Дубая, Восточного Тимора, Эвклы, Фиджи, Французской Полинезии, Гренландии, Индокитая, Ирана, Ирака, Кирибати, Лорд-Хау, Маккуори, Малайзии, Мальдивских островов, Маршалловых островов, Маврикия, Микронезии, Монголии, Мьянмы, Науру, Непала, Новой Каледонии, Ниуэ, Норфолка I, Палау, Папуа-Новой Гвинеи, Филиппин, Питкэрна, Катара, Реюньона, Сен-Пьера и Микелона, Самоа, Саудовской Аравии, Сейшельских островов, Сингапура, Соломоновых островов, Токелау, Тувалу, Уэйка, Вануату, Уоллиса и Футуны и Синьцзяна; для 20-минутного летнего времени в Гане до 1943 года; для получасового летнего времени в Белизе до 1944 года и в Доминиканской Республике до 1975 года; и для Канарских островов до 1946 года, для Гвинеи-Бисау до 1975 года, для Исландии до 1969 года, для индийского летнего времени до 1942 года, для Индонезии до примерно 1964 года, для Кении до 1960 года, для Либерии до 1973 года, для Мадейры до 1967 года, для Намибии до 1943 года, для Нидерландов в 1937-1939 годах, для Пакистана до 1971 года, для Западной Сахары до 1977 года и для Запорожья в 1880-1924 годах.
[...]

Обычно вы можете вручную указать названия зимнего и летнего времени, а также правила перехода с одного на другое в переменной TZ, но, похоже, для Бразилии это не совсем возможно, поскольку, согласно базе данных часовых поясов:

http://www.planalto.gov.br/ccivil_03/_Ato2007-2010/2008/Decreto/D6558.htm [t]период летнего времени в Бразилии теперь будет с воскресенья 3 октября по воскресенье 3 февраля. Исключение составляет дата возврата, когда это карнавальное воскресенье, тогда дата возврата будет в следующее воскресенье...

В простой спецификации правил нет возможности указать такое исключение TZ.

решение2

Отредактируйте файл, /etc/sysconfig/clockиспользуя следующие параметры, и перезагрузите его.

HWCLOCK="-u"
SYSTOHC="yes"
TIMEZONE="Europe/London"
DEFAULT_TIMEZONE="US/Central"

Примечание: укажите часовой пояс в соответствии с вашим часовым поясом.

Связанный контент