ZDUMP(8)

ИМЯ
zdump - информация о часовом поясе

ОБЗОР
zdump [ параметр … ] [ часовой пояс … ]

ОПИСАНИЕ
Программа zdump выводит текущее время для каждого часового пояса, указанного в командной строке.

ПАРАМЕТРЫ

--version
    Вывод информации о версии и выход из программы.

--help
    Вывод короткого сообщения об использовании и выход из программы.

-i  Вывод описания интервалов времени. Для каждого часового пояса из командной строки выводится описание часового пояса в формате интервала. Смотрите ниже.

-v  Для каждого часового пояса указанного в командной строке, выводится наименьшее возможное время, время через день после наименьшего возможного времени, время за одну секунду до и точное время обнаруженных временных разрывов, время за день до максимально возможного времени и максимально возможное время. Каждая строка заканчивается isdst=D, где D положительное, ноль или отрицательное значение в зависимости от времени: летнее время, стандартное время или неизвестное, соответственно. Также, каждая строка заканчивается gmtoff=N, если выводимое локальное время на N секунд восточнее Гринвича.

-V  Как -v, но не выводятся времена, которые относительны крайних значений времени. Генерируемый вывод проще сравнивать с реализациями с другим представлением времени.

-c [lначальный_год,]конечный_год
    Обрезает вывод интервала до заданного года(ов). Обрезаемые времена вычисляются по Григорианскому календарю с нулевым годом и универсальным временем (UT) без високосных секунд. Нижняя граница не включается, а верхняя включается; например, вывод с начальным годом равным 1970 не включает перевод, произошедший 1970-01-01 00:00:00 UTC, а с конечным годом 1970 этот перевод включается. По умолчанию года обрезки равны -500,2500.

-t [начальное_время,]конечное_время
    Обрезает вывод интервала заданным временем, выраженным в десятичных секундах, начало отсчёта 1970-01-01 00:00:00 по всемирному координированному времени (UTC). Часовой пояс определяет будут ли учитываться високосные секунды. Параметр -c, задаёт, что нижняя граница не будет включена в результат, а верхняя будет.

ФОРМАТ ИНТЕРВАЛА
Формат интервала это сжатое текстовое представление, понятное человеку и машине. Он состоит из пустой строки, далее следует строка где строка — строка в двойных кавычках, задающая часовой пояс, вторая строка описывающая временной интервал до первого перевода, если есть и ноль или более следующих строк по одной строке на каждый перевод времени и следующий интервал. Поля разделяются одиночным символом табуляции.

Даты описываются в формате гггг-мм-дд, а время — в 24-часовом формате чч:мм:сс, где чч<24. Времена указываются в локальном времени сразу после перевода. Описание временного интервала состоит из смещения UT в формате ±ччммсс со знаком, аббревиатуры часового пояса и флага isdst. Аббревиатура, равная смещению UT, пропускается; другие аббревиатуры представляют собой строки в двойных кавычках, если они состоят из одного или более алфавитных символов. Флаг isdst не указывается для стандартного времени, в противном случае это десятичное целое без знака и положительное (обычно, 1) для летнего времени и отрицательное, если это неизвестно.

Во временах и смещениях UT с абсолютным значением меньшим 100 часам, секунды не указываются, если их значение ноль, а минуты также не указываются, если их значение также нулевое. Положительные смещения UT указываются в востоке от Гринвича. Смещение UT -00 является заполнителем UT для областей, где действующее смещение не указано; по соглашению, это происходит, когда смещение UT равно нулю и аббревиатура часового пояса начинается с или

В строках в двойных кавычках, экранирующие последовательности представляют необычные символы. Экранирующие последовательности: \s — пробел, а \", \\, \f, \n, \r, \t и \v — как в языке программирования C. Например, строка в двойных кавычках “"CET\s\"\\"” представляет последовательность символов “CET "\”.

Вот пример результата, начальная пустая строка не показана (здесь используется несколько табуляций между столбцами для выравнивания).

TZ="Pacific/Honolulu"
-	-	-10:31:26	LMT
1896-01-13	12:01:26	-10:30	HST
1933-04-30	03	-09:30	HDT	1
1933-05-21	11	-10:30	HST
1942-02-09	03	-09:30	HDT	1
1945-09-30	01	-10:30	HST
1947-06-08	02:30	-10	HST

Здесь локальное время начинается в 10 часов, 31 минуту и 26 секунд западнее UT, и это стандартное время с аббревиатурой LMT. Сразу после первого перевода дата равна 1896-01-13 и время 12:01:26, и следующий временной интервал 10.5 часов западнее UT, стандартное время с аббревиатурой HST. Сразу после второго перевода дата равна 1933-04-30 и время 03:00:00, а затем следует временной интервал 9.5 часов западнее UT, имеет аббревиатуру HDT и это летнее время. Сразу после последнего перевода дата равна 1947-06-08 и время 02:30:00, и следующий временной интервал 0 часов западнее UT, стандартное время с аббревиатурой HST.

Вот кусочек другого примера:

TZ="Europe/Astrakhan"
-	-	+03:12:12	LMT
1924-04-30	23:47:48	+03
1930-06-21	01	+04
1981-04-01	01	+05		1
1981-09-30	23	+04
...
2014-10-26	01	+03
2016-03-27	03	+04

Этот часовой пояс восточнее UT, поэтому смещения UT положительные. Также его многие аббревиатуры часовых поясов не указаны, так как они повторяют текст смещения UT.

ОГРАНИЧЕНИЯ
Обнаружены разрывы во времени в выборке результата, полученном от localtime на 12 часовых интервалах. Это работает во всех мировых случаях; можно создать искусственные часовые пояса, в которых будет эта ошибка.

В выводе -v и -V означает, что значение получено от gmtime(3), которая использует UTC для современных временных меток и несколько другую разновидность UT для временных меток, которые использовались до появления UTC. В настоящее время не предпринимается попыток использовать для новых и для старых временных меток, отчасти потому, что точная дата введения UTC неизвестна.

СМОТРИТЕ ТАКЖЕ
tzfile(5), zic(8)