<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
<html>
  <head>
    <title>clock</title>
  </head>

  <body>
    <h1>clock</h1>

    <p>С помощью команды <strong>clock</strong> можно получить и преобразовать
      значение времени.</p>
     
    <pre>
      <strong>clock</strong> <em>option</em> ?<em>arg</em> <em>arg</em>...?
    </pre>

    <h2>ОПИСАНИЕ</h2> 

    <p> Команда выполняет одно из перечисленных ниже действий, с
      помощью которых можно получить и преобразовать строки или
      значения, являющиеся той или иной формой записи времени.
      Параметр <em>option</em> определяет выполняемое командой действие,
      одно из следующего списка (параметр может быть сокращен):
    <dl>
      <dt><strong>clock</strong> <strong>clicks</strong></dt>

      <dd> Возвращает целое число, с высокой точностью представляющее
        машинное время. Единица измерения зависит от операционной
        системы и компьютера и представляет собой минимальную
        доступную величину, например, счетчик циклов процессора.  Эта
        величина может использоваться только для относительного
        измерения пройденного времени.
      </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>
	<table>
	  <tbody>
	    <tr>
	      <td><strong>%%</strong></td>
	      <td>вставляет %</td>
	    </tr>
	    <tr>
	      <td><strong>%a</strong></td>
	      <td>сокращенное название дня недели (Mon, Tue, etc.).</td>
	    </tr>
	    <tr>
	      <td><strong>%A</strong></td>
	      <td>полное название дня недели (Monday, Tuesday, etc.).</td>
	    </tr>
	    <tr>
	      <td><strong>%b</strong></td>
	      <td>сокращенное название месяца (Jan, Feb, etc.).</td>
	    </tr>
	    <tr>
	      <td><strong>%B</strong></td>
	      <td>полное название месяца.</td>
	    </tr>
	    <tr>
	      <td><strong>%c</strong></td>
	      <td>локальные дата и время.</td>
	    </tr>
	    <tr>
	      <td><strong>%d</strong></td>
	      <td>день месяца (01 - 31).</td>
	    </tr>
	    <tr>
	      <td><strong>%H</strong></td>
	      <td>часы в двадцатичетырехчасовом формате (00 - 23).</td>
	    </tr>
	    <tr>
	      <td><strong>%I</strong></td>
	      <td>часы в двенадцатичасовом формате (00 - 12).</td>
	    </tr>
	    <tr>
	      <td><strong>%j</strong></td>
	      <td>день года (001 - 366).</td>
	    </tr>
	    <tr>
	      <td><strong>%m</strong></td>
	      <td>номер месяца (01 - 12).</td>
	    </tr>
	    <tr>
	      <td><strong>%M</strong></td>
	      <td>минуты (00 - 59).</td>
	    </tr>
	    <tr>
	      <td><strong>%p</strong></td>
	      <td>AM/PM индикатор (до/после полудня).</td>
	    </tr>
	    <tr>
	      <td><strong>%S</strong></td>
	      <td>секунды (00 - 59).</td>
	    </tr>
	    <tr>
	      <td><strong>%U</strong></td>
	      <td>неделя года (01 - 52), Воскресенье - первый день
		недели.</td>
	    </tr>
	    <tr>
	      <td><strong>%w</strong></td>
	      <td>номер дня недели (Воскресенье = 0).</td>
	    </tr>
	    <tr>
	      <td><strong>%W</strong></td>
	      <td>неделя года (01 - 52), Понедельник первый день
		недели.</td>
	    </tr>
	    <tr>
	      <td><strong>%x</strong></td>
	      <td>локальный формат даты.</td>
	    </tr>
	    <tr>
	      <td><strong>%X</strong></td>
	      <td>локальный формат времени.</td>
	    </tr>
	    <tr>
	      <td><strong>%y</strong></td>
	      <td>год без столетия (00 - 99).</td>
	    </tr>
	    <tr>
	      <td><strong>%Y</strong></td>
	      <td>год со столетием (например, 1990)</td>
	    </tr>
	    <tr>
	      <td><strong>%Z</strong></td>
	      <td>имя часового пояса.</td>
	    </tr>
	    <tr>
	      <td colspan=2>Кроме того, в некоторых операционных
		системах могут поддерживаться</td>
	    </tr>
	    <tr>
	      <td><strong>%D</strong></td>
	      <td>дата в формате %m/%d/%y.</td>
	    </tr>
	    <tr>
	      <td><strong>%e</strong></td>
	      <td>день месяца (1 - 31), без нулей впереди.</td>
	    </tr>
	    <tr>
	      <td><strong>%h</strong></td>
	      <td>сокращенное имя месяца.</td>
	    </tr>
	    <tr>
	      <td><strong>%n</strong></td>
	      <td>новая строка.</td>
	    </tr>
	    <tr>
	      <td><strong>%r</strong></td>
	      <td>время в формате %I:%M:%S %p.</td>
	    </tr>
	    <tr>
	      <td><strong>%R</strong></td>
	      <td>время в формате %H:%M.</td>
	    </tr>
	    <tr>
	      <td><strong>%t</strong></td>
	      <td>табуляция.</td>
	    </tr>
	    <tr>
	      <td><strong>%T</strong></td>
	      <td>время в формате %H:%M:%S.</td>
	    </tr>
	  </tbody>
	</table>

	
	<p>Если аргумент <strong>-format</strong> не задан, используется
	  формат <strong>%a %b %d %H:%M:%S %Z %Y</strong>. Если задан аргумент
	  <em>-gmt</em>, следующий аргумент должен быть булевой
	  величиной. Значение true означает, что используется время по
	  Гринвичу, значение false означает, что используется время по
	  локальному часовому поясу, который задан для операционной
	  системы.</p>
      </dd>


      <dt><a name=scan></a><strong>clock</strong> <strong>scan</strong>
	<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>

	<p>Если в команде указан флаг <em>-base</em>, следующий аргумент
	  должен содержать время в виде целого числа. По этому числу
	  определяется дата и используется вместо указанной в строке
	  или текущей. Такая возможность полезна при необходимости
	  перевести в целое число время на заданную дату.</p>

	<p>Аргумент <em>dateString</em> должен состоять из одной или
	  более спецификаций следующих видов:</p>
	
        <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> считается числом часов в
		двадцатичетырехчасовом формате.
	      </td>
	    </tr>
	    <tr>
	      <td><em>date</em></td>

	      <td> Месяц, день и, возможно, год. Допустимые форматы
		<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.
	      </td>
	    </tr>
	    <tr>
	      <td> <em>relative time</em></td>

	      <td>Время относительно текущего момента. Формат - число
		единица измерения. Возможные единицы измерения
		<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>,
		<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>
      </dd>

    <dt><a name=seconds></a><strong>clock seconds</strong></dt>

      <dd> Возвращает время в секундах от начала
        &quot;эпохи&quot;. Может использоваться для вычисления
        разности времен. &quot;Эпоха&quot; зависит от используемой
        операционной системы и компьютера.
      </dd>
    </dl>
  </body>
</html>