Я смотрел какую-то книгу по системному программированию. В нем упоминается использование переменной TZ
с разделенным двоеточиями списком, который используется из /usr/share/zoneinfo
. Вероятно, книга немного устарела.
Я проверил в своей системе Ubuntu
/usr/share/zoneinfo/Asia$ file Oral
дает следующий вывод
Устные: данные о часовом поясе, версия 2, временные флаги 14 gmt, 14 стандартных флагов времени, без скачка секунд, 51 время перехода, 14 символов сокращения
blockquote>Я попытался открыть его в vi, но текст не смог прочитать. Я также пытался читать
/etc/localtime
, но и здесь это не могло быть прочитано.
Как я могу в основном читать файлы вышеуказанного типа?
Где переменная среды TZ определена в Ubuntu 10.04?
Ну, это зависит от того, для чего ты хочешь это прочитать?
Почти все программы просто полагаются на то, что $TZ
устанавливается в среде или /etc/localtime
является ссылкой на файл часового пояса. Затем библиотека C автоматически организует, например, localtime()
, чтобы вернуть правильное время.
1) Как я могу в основном читать файлы вышеуказанного типа
blockquote>1113 Это скомпилированные файлы, которые не предназначены для чтения людьми.
zdump -v /etc/localtime
покажет вам, что находится внутри файлов.apt-get source tzdata
даст вам источник, из которого они пришли.
2) Где переменная окружения TZ определена в Ubuntu 10.04
blockquote>По умолчанию она не установлена. Вместо этого
/etc/localtime
является копией соответствующего файла zoneinfo, а/etc/timezone
является именем этой зоны.Вы можете изменить их с помощью
sudo tzconfig
или через графический интерфейс.Вы могли бы установить его, например,
~/.env
, если вы хотите использовать другое персональное значение по умолчанию для себя.