<!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> Возвращает время в секундах от начала "эпохи". Может использоваться для вычисления разности времен. "Эпоха" зависит от используемой операционной системы и компьютера. </dd> </dl> </body> </html>