NAME
clock - Obtain and manipulate time
SYNOPSIS
clock option ?arg arg ...?
_________________________________________________________________
DESCRIPTION
This command performs one of several operations that may
obtain or manipulate strings or values that represent some
notion of time. The option argument determines what
action is carried out by the command. The legal options
(which may be abbreviated) are:
clock clicks |
?-milliseconds? ||
Return a high-resolution time value as a system- |
dependent integer value. The unit of the value is |
system-dependent but should be the highest resolu |
tion clock available on the system such as a CPU |
cycle counter. If -milliseconds is specified, then |
the value is guaranteed to be of millisecond granu |
larity. This value should only be used for the |
relative measurement of elapsed time.
clock format clockValue ?-format string? ?-gmt boolean?
Converts an integer time value, typically returned
by clock seconds, clock scan, or the atime, mtime,
or ctime options of the file command, to human-
readable form. If the -format argument is present
the next argument is a string that describes how
the date and time are to be formatted. Field
descriptors consist of a % followed by a field
descriptor character. All other characters are
copied into the result. Valid field descriptors
are:
%% Insert a %.
%a Abbreviated weekday name (Mon, Tue, etc.).
%A Full weekday name (Monday, Tuesday, etc.).
%b Abbreviated month name (Jan, Feb, etc.).
%B Full month name.
%c Locale specific date and time.
%d Day of month (01 - 31).
%I Hour in 12-hour format (00 - 12).
%j Day of year (001 - 366).
%m Month number (01 - 12).
%M Minute (00 - 59).
%p AM/PM indicator.
%S Seconds (00 - 59).
%U Week of year (00 - 52), Sunday is the first
day of the week.
%w Weekday number (Sunday = 0).
%W Week of year (00 - 52), Monday is the first
day of the week.
%x Locale specific date format.
%X Locale specific time format.
%y Year without century (00 - 99).
%Y Year with century (e.g. 1990)
%Z Time zone name.
In addition, the following field descriptors may be
supported on some systems (e.g. Unix but not Win
dows):
%D Date as %m/%d/%y.
%e Day of month (1 - 31), no leading zeros.
%h Abbreviated month name.
%n Insert a newline.
%r Time as %I:%M:%S %p.
%R Time as %H:%M.
%t Insert a tab.
%T Time as %H:%M:%S.
If the -format argument is not specified, the for
mat string "%a %b %d %H:%M:%S %Z %Y" is used. If
be a boolean which if true specifies that the time
will be formatted as Greenwich Mean Time. If false
then the local timezone will be used as defined by
the operating environment.
clock scan dateString ?-base clockVal? ?-gmt boolean?
Convert dateString to an integer clock value (see
clock seconds). This command can parse and convert
virtually any standard date and/or time string,
which can include standard time zone mnemonics. If
only a time is specified, the current date is
assumed. If the string does not contain a time
zone mnemonic, the local time zone is assumed,
unless the -gmt argument is true, in which case the
clock value is calculated assuming that the speci
fied time is relative to Greenwich Mean Time.
-gmt, if specified, affects only the computed time
value; it does not impact the interpretation of
-base.
If the -base flag is specified, the next argument
should contain an integer clock value. Only the
date in this value is used, not the time. This is
useful for determining the time on a specific day
or doing other date-relative conversions.
The dateString consists of zero or more specifica
tions of the following form:
time A time of day, which is of the form:
hh?:mm?:ss?? ?meridian? ?zone? or hhmm
?meridian? ?zone?. If no meridian is speci
fied, hh is interpreted on a 24-hour clock.
date A specific month and day with optional year.
The acceptable formats are mm/dd?/yy?, mon
thname dd ?, yy?, dd monthname ?yy?, day, dd
monthname yy, ?CC?yymmdd, ?CC?yy-mm-dd, dd-
monthname-?CC?yy. The default year is the
current year. If the year is less than 100, |
we treat the years 00-68 as 2000-2068 and |
the years 69-99 as 1969-1999. Not all plat |
forms can represent the years 38-70, so an |
error may result if these years are used.
ISO 8601 point-in-time
An ISO 8601 point-in-time specification,
such as CCyymmddThhmmss, where T is the lit
eral T, CCyymmdd hhmmss, or CCyymmd
dThh:mm:ss.
relative time
A specification relative to the current
units are year, fortnight, month, week, day,
hour, minute (or min), and second (or sec).
The unit can be specified as a singular or
plural, as in 3 weeks. These modifiers may
also be specified: tomorrow, yesterday,
today, now, last, this, next, ago.
The actual date is calculated according to the fol
lowing steps. First, any absolute date and/or time
is processed and converted. Using that time as the
base, day-of-week specifications are added. Next,
relative specifications are used. If a date or day
is specified, and no absolute or relative time is
given, midnight is used. Finally, a correction is
applied so that the correct hour of the day is pro
duced after allowing for daylight savings time dif
ferences and the correct date is given when going
from the end of a long month to a short month.
Daylight savings time correction is applied only
when the relative time is specified in units of
days or more, ie, days, weeks, fortnights, months
or years. This means that when crossing the day
light savings time boundary, different results will
be given for clock scan "1 day" and clock scan "24
hours":
% clock scan "1 day" -base [clock scan 1999-10-31]
941443200
% clock scan "24 hours" -base [clock scan 1999-10-31]
941439600
clock seconds
Return the current date and time as a system-depen
dent integer value. The unit of the value is sec
onds, allowing it to be used for relative time cal
culations. The value is usually defined as total
elapsed time from an ``epoch''. You shouldn't
assume the value of the epoch.
KEYWORDS
clock, date, time
Man(1) output converted with
man2html