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
              resolution clock available on the system such as  a
              CPU  cycle  counter. If -milliseconds is specified,
              then the value is guaranteed to be  of  millisecond
              granularity.   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).

              %H     Hour in 24-hour format (00 - 23).

              %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
              Windows):

              %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
              format string "%a %b %d %H:%M:%S %Z  %Y"  is  used.
              If  the  -gmt argument is present the next argument
              must 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
              specified 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
              specifications 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
                     specified,  hh  is  interpreted on a 24-hour
                     clock.

              date   A specific month and day with optional year.
                     The   acceptable   formats  are  mm/dd?/yy?,
                     monthname 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
                     platforms 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
                     literal    T,    CCyymmdd     hhmmss,     or
                     CCyymmddThh:mm:ss.

              relative time
                     A  specification  relative  to  the  current
                     time.  The format is number unit  acceptable
                     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
              following  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 produced  after  allowing  for  daylight
              savings  time  differences  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
              daylight  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-
              dependent integer value.  The unit of the value  is
              seconds,  allowing  it to be used for relative time
              calculations.  The  value  is  usually  defined  as
              total   elapsed   time   from  an  ``epoch''.   You
              shouldn't assume the value of the epoch.


KEYWORDS
