ОБЗОР
zic [ -v ] [ -d каталог ] [ -l местное_время ] [ -p правила_posix ] [ -L имя_файла_високосной_секунды ] [ -s ] [ -y команда ] [ имя_файла ... ]ОПИСАНИЕ
Zic читает текст из файла(ов), имя которого задано в командной строке и создаёт файлы с информацией о переводе времени. Если в качестве имени_файла указан символ -, то для чтения используется стандартный ввод.Возможные параметры:
- -d каталог
- Создавать файлы с информацией для перевода времени в заданном каталоге, а не в нижеуказанном стандартном каталоге.
- -l часовой_пояс
-
Использовать заданный часовой пояс в качестве местного времени. В этом
случае zic поступит так, как если входные данные содержали строку
Link часовой_пояс localtime
- -p часовой_пояс
-
Использовать правила данного часового пояса при обработке соответствующих
переменных окружения, описанных в стандарте POSIX. В этом случае zic
поступит так, как если бы входные данные содержали строку
Link часовой_пояс posixrules
- -L имя_файла_високосной_секунды
- Прочитать информацию о високосной секунде из файла с заданным именем. Если этот параметр не используется, то в выходном файле информация о високосной секунде не появится.
- -v
- Информировать, если год из файла данных выходит за границы диапазона лет, значения которых может выдавать функция time(2).
- -s
- Ограничить значения времени в выходных файлах рамками значений из входных файлов, то есть оставить их какими они были --- знаковыми или беззнаковыми. Этот параметр можно использовать для создания SVVS-совместимых файлов.
- -y команда
- Использовать заданную команду вместо yearistype, при проверке типа года (смотрите ниже).
Входные строки состоят из полей. Поля отделяются друг от друга любым числом пробельных символов. Начальные и конечные пробелы входных строк игнорируются. С символа диеза (#), не находящегося в кавычках, начинается комментарий, заканчивающийся концом строки. Если в поле нужно использовать символы пробела и диеза, то их нужно заключить в двойные кавычки ("). Любая пустая строка (после удаления комментариев) игнорируется. Непустые строки могут быть трёх типов: строки правил, строки поясов и строки ссылок.
Строка правила имеет вид
Описание полей, из которых состоит строка правила:
Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Например:
Rule US 1967 1973 - Apr lastSun 2:00 1:00 D
- NAME
- Определяет (произвольное) имя списка правил, частью которого является данное правило.
- FROM
- Задаёт первый год, в котором применяется данное правило. Можно задать любое целое значение года; предполагается использование Григорианского календаря. Слово minimum (или аббревиатура) означает минимальный год, который может быть задан целым числом. Слово maximum (или аббревиатура) означает максимальный год, который может быть задан целым числом. Правила могут описывать время, которое не представимо на данной машине, такие времена игнорируются; это делает правила переносимыми между машинами с различными типами значений времени.
- TO
- Задаёт последний год, в котором применяется данное правило. Вдобавок к minimum и maximum (описанным выше), может использоваться слово only (или аббревиатуру), которое означает повторение значения из поля FROM.
- TYPE
-
Задаёт тип года, в котором применяется данное правило. Если TYPE равно
-, то правило применяется ко всем годам между значениями FROM и TO
включительно. Если TYPE равно чему-нибудь ещё, то для проверки типа года
zic выполняет команду
yearistype год тип
Нулевой код завершения означает, что год имеет указанный тип. Код завершения 1 означает, что год не заданного типа. - IN
- Название месяца, в котором начинает действовать правило. Название месяца может быть аббревиатурой.
- ON
-
Задаёт день, в котором начинает действовать правило. Возможные формы записи:
5 пятый день месяца lastSun последнее воскресенье месяца lastMon последний понедельник месяца Sun>=8 первое воскресенье после восьмого числа включительно Sun<=25 последнее воскресенье перед 25-м числом включительноНазвания дней недели могут быть аббревиатурой или писаться полностью. Заметим, что в поле ON не должно быть пробелов.
- AT
-
Задаёт время дня, с которого начинает действовать правило. Возможные формы
записи:
2 время в часах 2:00 время в часах и минутах 15:00 24-часовой формат задания времени (для времени после полудня) 1:28:14 время в часах, минутах и секундах - эквивалентно 0где 0 часов означает полночь и начало нового дня, а 24 часа означают полночь и конец дня. Любая из этих форм может заканчиваться символом w, если это местное "по настенным часам" время, s, если это локальное "стандартное" время, или u (или g, или z), если это универсальное время; при отсутствии временного индикатора предполагается, что это местное время.
- SAVE
- Задаёт количество времени, которое нужно добавить к локальному стандартному времени при начале действия правила. Это поле имеет тот же формат, что и поле AT, (хотя, конечно, при этом суффиксы w и s не используются).
- LETTER/S
- Задаёт (например, или в или аббревиатуре часового пояса, который используется, когда правило начинает действовать. Если это поле равно -, то переменная часть будет пустой.
Строка часового пояса имеет вид
Описание полей, из которых состоит строка часового пояса:
Zone NAME UTCOFF RULES/SAVE FORMAT [UNTIL]
Например:
Zone Australia/Adelaide 9:30 AusCST1971 Oct 31 2:00
- NAME
- Название часового пояса. Это название используется при создании файла с информацией о переводе времени для этого пояса.
- UTCOFF
- Время, которое нужно добавить к UTC, чтобы получить стандартное время для этого пояса. Это поле имеет тот же формат, что и поля AT и SAVE строках правил. Если нужно отнять какое-то время от UTC, введите знак минуса в начале поля.
- RULES/SAVE
- Названия правил(а), которые используются в этом часовом поясе, или иначе говоря, время, которое нужно добавить к локальному стандартному времени. Если это поле равно -, то в этом часовом поясе всегда используется стандартное время.
- FORMAT
- Формат аббревиатуры для данного часового пояса. Пара символов %s задаёт аббревиатуры часового пояса. Косая черта (/) разделяет стандартную аббревиатуру и аббревиатуру летнего времени.
- UNTIL
- Время, с которого изменяются смещение UTC или правила. Оно задаётся годом, месяцем, днем и временем дня. Если оно задано, то информация о часовом поясе формируется из заданного смещения UTC и правила, подпадающего под время изменения. Месяц, день и время дня имеют тот же формат, что и в колонках правил IN, ON и AT; последние колонки могут не задаваться, а по умолчанию для пропущенных колонок действуют самые ранние их значения.
- Далее должна следовать строка; она имеет тот же формат, что и строка часового пояса, за исключением того, что в строке пропускается и название, как если бы дополнительная строка задавала информацию, начинающуюся со времени, указанном в поле UNTIL в предыдущей строке в файле, для использования предыдущей строкой. Дополнительные строки могут содержать поле UNTIL как и строки пояса, показывающее, что следующая строка тоже является дополнительной.
Строка ссылки имеет вид
Поле LINK-FROM должно иметь значение поля NAME из какой-нибудь строки часовых поясов; поле LINK-TO используется для задания альтернативного имени этого часового пояса.
Link LINK-FROM LINK-TO
Например:
Link Europe/IstanbulAsia/Istanbul
За исключением дополнительных, строки могут располагаться в любом порядке.
Строки из файла, описывающего високосные секунды, имеют вид:
Поля YEAR, MONTH, DAY и HH:MM:SS задают время, когда случается високосная секунда. Поле CORR должно содержать , если секунда была добавлена, или если секунда была пропущена. Поле R/S должно равняться (в виде аббревиатуры), если время високосной секунды, заданное другими полями, должно интерпретироваться как UTC, или (в виде аббревиатуры), если время високосной секунды, заданное другими полями, должно интерпретироваться как местное время.
Leap YEAR MONTH DAY HH:MM:SS CORR R/S
Например:
Leap 1974 Dec 31 23:59:60 + S
ФАЙЛЫ
- /usr/local/etc/zoneinfo
- Стандартный каталог, используемый при создании файлов.