projman/hlp/ru/tcl/clock.html

283 lines
13 KiB
HTML
Raw Normal View History

<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
2015-10-19 13:27:31 +03:00
<html>
<head>
<title>clock</title>
</head>
<body>
<h1>clock</h1>
<p>С помощью команды <strong>clock</strong> можно получить и преобразовать
значение времени.</p>
2015-10-19 13:27:31 +03:00
<pre>
<strong>clock</strong> <em>option</em> ?<em>arg</em> <em>arg</em>...?
</pre>
<h2>ОПИСАНИЕ</h2>
2015-10-19 13:27:31 +03:00
<p> Команда выполняет одно из перечисленных ниже действий, с
помощью которых можно получить и преобразовать строки или
значения, являющиеся той или иной формой записи времени.
Параметр <em>option</em> определяет выполняемое командой действие,
одно из следующего списка (параметр может быть сокращен):
2015-10-19 13:27:31 +03:00
<dl>
<dt><strong>clock</strong> <strong>clicks</strong></dt>
<dd> Возвращает целое число, с высокой точностью представляющее
машинное время. Единица измерения зависит от операционной
системы и компьютера и представляет собой минимальную
доступную величину, например, счетчик циклов процессора. Эта
величина может использоваться только для относительного
измерения пройденного времени.
2015-10-19 13:27:31 +03:00
</dd>
<dt><strong>clock</strong> <strong>format</strong> <em>clockValue</em> ?<em>-format</em>
<em>string</em>? ?<em>-gmt</em> <em>boolean</em>?</dt>
<dd><p>Переводит целое число, возвращаемое командами <strong>clock
seconds</strong>, <strong>clock scan</strong> или командами <a href=
file.html#atime><strong>file atime</strong></a>, <a href=
file.html#mtime><strong>file mtime</strong></a> и <strong>file
ctime</strong> в удобочитаемую форму. Если в команде
присутствует аргумент <em>-format</em>, следующий аргумент
должен быть строкой, описывающей формат представления
времени. Строка состоит из описаний полей, состоящих из
символа <strong>%</strong> и буквы. Все остальные символы в строке
просто копируются в результат. Ниже перечислены допустимые
описания полей.</p>
2015-10-19 13:27:31 +03:00
<table>
<tbody>
<tr>
<td><strong>%%</strong></td>
<td>вставляет %</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%a</strong></td>
<td>сокращенное название дня недели (Mon, Tue, etc.).</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%A</strong></td>
<td>полное название дня недели (Monday, Tuesday, etc.).</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%b</strong></td>
<td>сокращенное название месяца (Jan, Feb, etc.).</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%B</strong></td>
<td>полное название месяца.</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%c</strong></td>
<td>локальные дата и время.</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%d</strong></td>
<td>день месяца (01 - 31).</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%H</strong></td>
<td>часы в двадцатичетырехчасовом формате (00 - 23).</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%I</strong></td>
<td>часы в двенадцатичасовом формате (00 - 12).</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%j</strong></td>
<td>день года (001 - 366).</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%m</strong></td>
<td>номер месяца (01 - 12).</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%M</strong></td>
<td>минуты (00 - 59).</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%p</strong></td>
<td>AM/PM индикатор (до/после полудня).</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%S</strong></td>
<td>секунды (00 - 59).</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%U</strong></td>
<td>неделя года (01 - 52), Воскресенье - первый день
недели.</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%w</strong></td>
<td>номер дня недели (Воскресенье = 0).</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%W</strong></td>
<td>неделя года (01 - 52), Понедельник первый день
недели.</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%x</strong></td>
<td>локальный формат даты.</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%X</strong></td>
<td>локальный формат времени.</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%y</strong></td>
<td>год без столетия (00 - 99).</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%Y</strong></td>
<td>год со столетием (например, 1990)</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%Z</strong></td>
<td>имя часового пояса.</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td colspan=2>Кроме того, в некоторых операционных
системах могут поддерживаться</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%D</strong></td>
<td>дата в формате %m/%d/%y.</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%e</strong></td>
<td>день месяца (1 - 31), без нулей впереди.</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%h</strong></td>
<td>сокращенное имя месяца.</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%n</strong></td>
<td>новая строка.</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%r</strong></td>
<td>время в формате %I:%M:%S %p.</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%R</strong></td>
<td>время в формате %H:%M.</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%t</strong></td>
<td>табуляция.</td>
2015-10-19 13:27:31 +03:00
</tr>
<tr>
<td><strong>%T</strong></td>
<td>время в формате %H:%M:%S.</td>
2015-10-19 13:27:31 +03:00
</tr>
</tbody>
</table>
<p>Если аргумент <strong>-format</strong> не задан, используется
формат <strong>%a %b %d %H:%M:%S %Z %Y</strong>. Если задан аргумент
<em>-gmt</em>, следующий аргумент должен быть булевой
величиной. Значение true означает, что используется время по
Гринвичу, значение false означает, что используется время по
локальному часовому поясу, который задан для операционной
системы.</p>
2015-10-19 13:27:31 +03:00
</dd>
<dt><a name=scan></a><strong>clock</strong> <strong>scan</strong>
2015-10-19 13:27:31 +03:00
<em>dateString</em> ?<em>-base</em> <em>clockVal</em>? ?<em>-gmt</em>
<em>boolean</em>?</dt>
<dd><p>Переводит дату <em>dateString</em> в целое число (см. <a
href=#seconds><strong>clock seconds</strong></a>).
Команда может перевести в число любую стандартную строку,
содержащую время и/или дату, включая название часового
пояса. Если строка содержит только время, предполагается
текущая дата. Если название часового пояса не указано,
предполагается локальный часовой пояс (если значение опции
<em>-gmt</em> не равно true. В этом случае предполагается, что
время задано по Гринвичу).</p>
2015-10-19 13:27:31 +03:00
<p>Если в команде указан флаг <em>-base</em>, следующий аргумент
должен содержать время в виде целого числа. По этому числу
определяется дата и используется вместо указанной в строке
или текущей. Такая возможность полезна при необходимости
перевести в целое число время на заданную дату.</p>
2015-10-19 13:27:31 +03:00
<p>Аргумент <em>dateString</em> должен состоять из одной или
более спецификаций следующих видов:</p>
2015-10-19 13:27:31 +03:00
<table>
<tbody>
<tr>
<td><em>time</em></td>
<td>Время суток в форме: <em>hh?:mm?:ss??</em>
?<em>meridian</em>? ?<em>zone</em>? или в форме
<em>hhmm?meridian?</em> ?<em>zone</em>?, где
<em>meridian</em> - индикатор AM или PM, <em>zone</em> -
имя часового пояса. Если индикатор <em>meridian</em> не
определен, <em>hh</em> считается числом часов в
двадцатичетырехчасовом формате.
2015-10-19 13:27:31 +03:00
</td>
</tr>
<tr>
<td><em>date</em></td>
<td> Месяц, день и, возможно, год. Допустимые форматы
2015-10-19 13:27:31 +03:00
<em>mm/dd?/yy?</em>, <em>monthname dd?</em>, <em>yy?</em>,
<em>dd monthname?yy?</em> и <em>day</em>, <em>dd monthname
yy</em>. По умолчанию год считается текущим годом. Если
год меньше 100, то года 00-38 считаются годами в
диапазоне 2000-2038, а года 70-99 считаются годами в
диапазоне 1970-1999. Года 39-70 могут быть
недопустимыми на некоторых платформах. Для тех
платформ, для которых они определены, они считаются
годами в диапазоне 1939-1999.
2015-10-19 13:27:31 +03:00
</td>
</tr>
<tr>
<td> <em>relative time</em></td>
<td>Время относительно текущего момента. Формат - число
единица измерения. Возможные единицы измерения
2015-10-19 13:27:31 +03:00
<strong>year</strong>, <strong>fortnight</strong>, <strong>month</strong>,
<strong>week</strong>, <strong>day</strong>, <strong>hour</strong>,
<strong>minute</strong>(или <strong>min</strong>), и <strong>second</strong> (или
<strong>sec</strong>). Единицы измерения могут указываться во
множественном числе, например 3 weeks. Кроме того,
могут использоваться модификаторы: <strong>tomorrow</strong>,
2015-10-19 13:27:31 +03:00
<strong>yesterday</strong>, <strong>today</strong>, <strong>now</strong>,
<strong>last</strong>, <strong>this</strong>, <strong> next</strong>, <strong>ago</strong>.
</td>
</tr>
</tbody>
</table>
<p>Реальная дата вычисляется в следующей последовательности.
Сначала определяется абсолютная дата и/или время, которые
переводятся в целое число. Это число используется как базис,
к которому добавляется заданный день недели. Далее
используется относительное время. Если задана дата, а время
(абсолютное или относительное) отсутствует, считается, что
это полночь. И последним шагом производится коррекция
вычисленной даты, при которой учитываются летнее время и
число дней в различных месяцах.</p>
2015-10-19 13:27:31 +03:00
</dd>
<dt><a name=seconds></a><strong>clock seconds</strong></dt>
2015-10-19 13:27:31 +03:00
<dd> Возвращает время в секундах от начала
&quot;эпохи&quot;. Может использоваться для вычисления
разности времен. &quot;Эпоха&quot; зависит от используемой
операционной системы и компьютера.
2015-10-19 13:27:31 +03:00
</dd>
</dl>
</body>
</html>