CTIME(3)                                                 CTIME(3)

     NAME
          ctime, localtime, gmtime, asctime, tm2sec, timezone -
          convert date and time

     SYNOPSIS
          #include <u.h>
          #include <libc.h>

          char* ctime(long clock)

          Tm*   localtime(long clock)

          Tm*   gmtime(long clock)

          char* asctime(Tm *tm)

          long  tm2sec(Tm *tm)

     DESCRIPTION
          Ctime converts a time clock such as returned by time(3) into
          ASCII (sic) and returns a pointer to a 30-byte string in the
          following form.  All the fields have constant width.

                Wed Aug  5 01:07:47 EST 1973\n\0

          Localtime and gmtime return pointers to structures contain-
          ing the broken-down time.  Localtime corrects for the time
          zone and possible daylight savings time; gmtime converts
          directly to GMT.  Asctime converts a broken-down time to
          ASCII and returns a pointer to a 30-byte string.

               typedef
               struct {
                     int  sec;        /* seconds (range 0..59) */
                     int  min;        /* minutes (0..59) */
                     int  hour;       /* hours (0..23) */
                     int  mday;       /* day of the month (1..31) */
                     int  mon;        /* month of the year (0..11) */
                     int  year;       /* year A.D. - 1900 */
                     int  wday;       /* day of week (0..6, Sunday = 0) */
                     int  yday;       /* day of year (0..365) */
                     char zone[4];    /* time zone name */
                     int  tzoff;      /* time zone delta from GMT */
               } Tm;

          Tm2sec converts a broken-down time to seconds since the
          start of the epoch.  It ignores wday, and assumes the local
          time zone if zone is not GMT.

     SOURCE

     CTIME(3)                                                 CTIME(3)

          /src/lib9/date.c
          /src/lib9/ctime.c

     SEE ALSO
          date(1), time(3)

     BUGS
          The return values point to static data whose content is
          overwritten by each call.

          Daylight Savings Time is ``normal'' in the Southern hemi-
          sphere.

          These routines are not equipped to handle non-ASCII text,
          and are provincial anyway.

          To avoid name conflicts with the underlying system, ctime,
          localtime, gmtime, asctime, and tm2sec are preprocessor mac-
          ros defined as p9ctime, p9localtime, p9gmtime, p9asctime,
          and p9tm2sec; see intro(3).