, как читать информацию о часовом поясе

7

Я смотрел на книгу системного программирования. Он упомянул использовать переменную TZ с разделенным двоеточием списком, который используется из /usr/share/zoneinfo . Вероятно, книга немного устарела.

Я проверил свою систему Ubuntu

/usr/share/zoneinfo/Asia$ file Oral

дает следующий выход

  

Устные: данные часового пояса, версия 2, 14 г   временные флаги, 14 стандартных флагов, без скачка   секунд, 51 время перехода, 14   аббревиатура символов

Я попытался открыть его в vi, но текст не мог быть прочитан. Я также пробовал читать /etc/localtime , но здесь он также не читался.

  1. Как я могу в основном читать тип файлов?

  2. Где переменная среды TZ определена в Ubuntu 10.04?

задан Registered User 24.03.2011 в 09:40
источник

1 ответ

9

Ну, это зависит от того, что вы хотите прочитать?

Почти все программы просто полагаются на $TZ , заданные в среде, или /etc/localtime - это ссылка на файл часового пояса. Затем библиотека C автоматически организует, например, localtime() , чтобы вернуть правильное время.

  

1) Как я могу в основном читать тип файлов типа

zdump -v /etc/localtime покажет вам, что находится внутри файлов.

Это скомпилированные файлы, которые не предназначены для чтения людьми. apt-get source tzdata даст вам источник, из которого они пришли.

  

2) Где переменная среды TZ определена в Ubuntu 10.04

Он не установлен по умолчанию. Вместо этого /etc/localtime является копией соответствующего файла zoneinfo, а /etc/timezone - имя этой зоны.

Вы можете изменить их с помощью sudo tzconfig или через графический интерфейс.

Вы можете установить его, например, ~/.env , если хотите для себя другой личный дефолт.

    
ответ дан poolie 24.03.2011 в 10:20