Документация по LinuxLinuxDoc.Ru 🔍

zic - обработчик данных о часовом поясе

НАЗВАНИЕ
zic - обработчик данных о часовом поясе

СИНТАКСИС
zic [-v] [-d каталог] [-l местное_время] [-p
правила_posix] [-L файл_с_данными_о_високосных_секундах]
[-s] [-y команда] [имя_файла ... ]

ОПИСАНИЕ
Zic считывает содержимое файла (или нескольких файлов),
заданного (заданных) в командной строке, и создает файлы с
информацией о преобразовании времени, обозначенные в
исходных файлах. Если имя_файла равно -, то используются
данные со стандартного входа.

Опции:

-d каталог
Создает файлы информации о преобразовании времени в
заданном каталоге, а не в каталоге, открытом по
умолчанию (он описан ниже).

-l часовой_пояс
Считет время заданного часового пояса местным
временем. В этом случае zic будет работать, как
если бы во входном файле была строка link примерно
следующего содержания:

Link часовой_пояс localtime

-p часовой_пояс
Использует правила заданного часового пояса при
обработке переменных окружения, которые содержат
информацию о часовых поясах в стандарте POSIX. В
этом случае Zic будет работать, как если бы во
входном файле была строка link примерно следующего
содержания:

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 (или его сокращение) означает самый
поздний год компьютерного летоисчисления,
представляемый в виде числа. Правила могут
описывать время, которое невозможно представить в
виде значений time, поэтому такие значения
игнорируются, что позволяет создавать правила,
переносимые с системы на систему, в которых
различаются структуры time.

TO Задает год, до которого действует правило
(включительно). Кроме слов minimum и maximum
(описанных выше), слово only (или его сокращение)
может использоваться для повторения значения поля
FROM.

TYPE Задает тип года, в течение которого действует
правило. Если TYPE равно -, то правило действует
в течение всех лет, с FROM по TO включительно.
Если TYPE не является равным -, то zic исполняет
команду
yearistype год тип
для проверки типа года: если код завершения этой
команды равен 0, это означает, что год
соответствует заданному типу; если код завершения
этой команды не равен 0, то год не соответствует
заданному типу.

IN Задает месяц, в течение которого действует
правило. Названия месяцев могут сокращаться.

ON Задает день, в течение которого действует правило.
Примеры существующих форматов:

5 пятое число
lastSun последнее воскресенье месяца
lastMon последний понедельник месяца
Sun>=8 первое воскресенье месяца считать от 8-го числа
Sun<=25 последнее воскресенье месяца считать включительно до 25-го числа

Названия дней недели могут сокращаться. Заметьте,
что в поле ON не должно быть пробелов.

AT Задает время дня, в течение которого действует
правило. Примеры существующих форматов:

2 время в часах
2:00 время в часах и минутах
15:00 24-часовой формат времени (для времени после полудня)
1:28:14 время в часах, минутах и секундах,

где 0 - это полночь в начале дня, а 24 - это
полночь в конце дня. Любая из этих форм может
сопровождаться символами: w (означающим местное
время), s (означающим "стандартное" местное время)
или u (или g, или z),- если заданное время
является универсальным; при отсутствии этого
символа задается местное время.

SAVE Задает период времени, которое надо добавить к
стандартному местному времени, в течение которого
должно действовать правило. Формат этого поля
аналогичен формату поля AT (разумеется, суффиксы w
и s не используются).

LETTER/S
Задает "переменную часть" (например, "S" или "D" в
"EST" или "EDT") названия часового пояса, которую
необходимо использовать для того, чтобы правило
действовало. Если это поле равно -, то переменная
его часть не используется.

Строка часового пояса имеет следующую форму:

Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]

Например:

Zone Australia/Adelaide 9:30 Aus CST 1971 Oct 31 2:00

Строка часового пояса состоит из следующих полей:

NAME (названия часового пояса). Это имя используется при
создании для часового пояса файла с информацией о
преобразовании времени.

GMTOFF
Период, который надо добавить к UTC для того, чтобы
получить стандартное время этого часового пояса.
Формат этого поля аналогичен формату полей AT и SAVE
в строке правил. Если это поле начинается со знака
'-', то этот период должен быть вычтен из UTC.

RULES/SAVE
Правило (или правила), которые действуют в часовом
пояса, или период времени, который необходимо
добавить к стандартному местному времени. Если это
поле равно -, то в этом часовом поясе всегда
стандартное местное время.

FORMAT
Формат аббревиатур, обозначающих часовой пояс.
Сочетание %s используется для указания положения
"переменной части" аббревиатуры, обозначающей
часовой пояс. С другой стороны, можно использовать
слэш (/) для разделения аббревиатур стандартного и
зимнего времени.

UNTIL Время, когда меняется правило или происходит
смещение местного времени относительно UTC заданного
часового пояса. Это время задается с помощью
указания года, месяца, дня и времени этого дня. Если
эти параметры указаны, то информация о часовом поясе
формируется в соответствии с UTC и изменением
правила до обозначенного времени. Месяц, дни и
время указывается в том же формате, что и поля
правил IN, ON, и AT; последние колонки могут быть
пропущены (в этом случае по умолчанию используются
самые ранние возможные значения отсутствующих
колонок).

Следующая строка должна быть строкой "продолжения;"
она имеет ту же форму, что и строка часового пояса,
за исключением того, что не содержит слова "Zone" и
названия пояса, так как отображает параметры,
запускающиеся тогда же, что и параметры часового
пояса, заданного в поле UNTIL предыдущей строки.
Строки продолжения могут содержать поле UNTIL, как и
сама строка часового пояса. Это означает, что
следующая за текущей строкой тоже будет строкой
продолжения.

Строка ссылки имеет следующую форму:

Link LINK-FROM LINK-TO

Например:

Link Europe/Istanbul Asia/Istanbul

Поле LINK-FROM должно содержать тот же самый параметр, что
и поле NAME одного из часовых поясов; поле LINK-TO задает
альтернативное имя того же пояса.

Строки могут располагаться в файле в произвольном порядке
(за исключением строк продолжения).

Файл, описывающий високосные секунды, состоит из строк в
следующем формате:

Leap YEAR MONTH DAY HH:MM:SS CORR R/S

Например:

Leap 1974 Dec 31 23:59:60 + S

Поля YEAR, MONTH, DAY, и HH:MM:SS задают то время, в
которое была введена високосная секунда. Поле CORR может
быть равно "+," если была добавлена секунда, или "-," если
она не добавлена. Поле R/S может быть равно слову "Sta-
tionary" (или его сокращению), если время високосной
секунды, описанное в предыдущих полях, было задано в UTC,
или слову "Rolling" (или его сокращению), если время
високосной секунды, описанное в предыдущих полях, было
местным.

ЗАМЕЧАНИЕ

Для областей, где более, чем 2 варианта местного времени,
Вам, скорее всего, будет необходимо задать стандартное
местное время в поле AT согласно первому правилу смещения
времени. Это необходимо для того, чтобы наиболее раннее
время смещения, записанное файл результатов, было
правильным.

ФАЙЛ

/usr/local/etc/zoneinfo - стандартный каталог,
предназначенный для файлов с результатами выполненных
операций.
Читать новости Linux в Telegram
Linux - zic - обработчик данных о часовом поясе
Мы в соцсетях ✉