Программирование в стандарте POSIX


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


Простейшим средством опроса и/или изменения текущих даты и времени является служебная программа date:

date [-u] [+формат] date [-u] ммддччмм[[вв]гг]

В первой форме утилита date выдает на стандартный вывод дату и время (по умолчанию - текущие), в соответствии с заданным форматом. Во второй форме date позволяет установить системные дату и время.

При наличии опции -u работа ведется без учета часового пояса, во всемирном времени (как если бы значением переменной окружения TZ была цепочка "UTC0"). Без этой опции учитывается значение TZ или, если таковое не установлено или пусто, принимается во внимание системное подразумеваемое значение.

Если в командной строке date задан аргумент, начинающийся со знака +, форматом вывода даты и времени управляет пользователь. Формат включает спецификаторы преобразований и прочие символы (последние выводятся без изменений). Спецификаторы преобразований начинаются со знака % и замещаются при выводе соответствующим значением.

Таблица 12.1. Спецификаторы преобразований

СпецификаторОписание
%aСокращенное название дня недели.
%AПолное название дня недели.
%b

Сокращенное название месяца.

%BПолное название месяца.
%cПринятое в данной языково-культурной среде представление даты и времени.
%CДве первые цифры четырехзначного номера года [00, 99].
%dНомер дня в месяце [01, 31].
%DДата в формате мм/дд/гг.
%eНомер дня в месяце [1, 31] в двухсимвольном поле с дополнением, при необходимости, пробела.
%hТо же, что %b.
%HНомер часа [00, 23].
%IНомер часа [01, 12].
%jНомер дня в году [001, 366].
%mНомер месяца [01, 12].
%M

Минуты [00, 59].

%nПеревод строки
%S

Секунды [00, 60].

%tТабуляция
%TВремя в формате чч:мм:сс.
%uНомер дня недели [1, 7] (единица соответствует понедельнику).
%UНомер недели в году [00, 53]. Первым днем недели считается воскресенье. Все дни нового года, предшествующие первому воскресенью, относятся к нулевой неделе.
%VНомер недели в году [01, 53]. Первым днем недели считается понедельник. Если первое января приходится на пятницу, субботу или воскресенье, конец недели формально относят к прошлому году, а первой считают следующую неделю.
%wНомер дня недели [0, 6] (ноль соответствует воскресенью).
%WНомер недели в году [00, 53]. Первым днем недели считается понедельник. Все дни нового года, предшествующие первому понедельнику, относятся к нулевой неделе.
%xПринятое в данной языково-культурной среде представление даты.
%XПринятое в данной языково-культурной среде представление времени.
%yДве младшие цифры номера года [00, 99].
%YЧетырехзначный номер года.
%ZИмя часового пояса.
%%Знак процента.
<


Начало  Назад  Вперед