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

8

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

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

/usr/share/zoneinfo/Asia$ file Oral

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

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

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

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

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

зарегистрированный пользователь
источник

Ответы:

10

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

Почти все программы полагаются на то, $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
источник
Создание ~/.envс UTCего помощью не влияет на местный часовой пояс.
JFS
В настоящее время это tzselect
jiggunjer
tzselectне является заменой tzconfig: он просто выбирает часовой пояс и печатает его на стандартный вывод без изменения какой-либо конфигурации . Актуальная современная замена есть dpkg-reconfigure tzdata.
пул