


      CTIME(3C)                   (UNIX 5.0)                  CTIME(3C)



      NAME
           ctime, localtime, gmtime, asctime, tzset - convert date and
           time to string

      SYNTAX
           #include <time.h>

           char *ctime (clock)
           long *clock;

           struct tm *localtime (clock)
           long *clock;

           struct tm *gmtime (clock)
           long *clock;

           char *asctime (tm)
           struct tm *tm;

           extern long timezone;

           extern int daylight;

           extern char *tzname[2];

           void tzset ( )

      DESCRIPTION
           Ctime converts a long integer, pointed to by clock,
           representing the time in seconds since 00:00:00 GMT, January
           1, 1970, and returns a pointer to a 26-character string in
           the following form.  All the fields have constant width.

                Sun Sep 16 01:03:52 1973\n\0

           Localtime and gmtime return pointers to ``tm'' structures,
           described below.  Localtime corrects for the time zone and
           possible Daylight Savings Time; gmtime converts directly to
           Greenwich Mean Time (GMT), which is the time the UNIX System
           uses.

           Asctime converts a ``tm'' structure to a 26-character
           string, as shown in the above example, and returns a pointer
           to the string.

           Declarations of all the functions and externals, and the
           ``tm'' structure, are in the <time.h> header file.  The
           structure declaration is:

                struct tm {
                        int tm_sec; /* seconds (0 - 59) */
                        int tm_min; /* minutes (0 - 59) */



      Page 1                                         (73 A2 02MTA REV1)






      CTIME(3C)                   (UNIX 5.0)                  CTIME(3C)



                        int tm_hour; /* hours (0 - 23) */
                        int tm_mday; /* day of month (1 - 31) */
                        int tm_mon; /* month of year (0 - 11) */
                        int tm_year; /* year - 1900 */
                        int tm_wday; /* day of week (Sunday = 0) */
                        int tm_yday; /* day of year (0 - 365) */
                        int tm_isdst;
                };

           Tm_isdst is non-zero if Daylight Savings Time is in effect.

           The external long variable timezone contains the difference,
           in seconds, between GMT and local standard time (in EST,
           timezone is 5*60*60); the external variable daylight is
           non-zero if and only if the standard U.S.A.  Daylight
           Savings Time conversion should be applied.  The program
           knows about the peculiarities of this conversion in 1974 and
           1975; if necessary, a table for these years can be extended.

           If an environment variable named TZ is present, asctime uses
           the contents of the variable to override the default time
           zone.  The value of TZ must be a three-letter time zone
           name, followed by a number representing the difference
           between local time and Greenwich Mean Time in hours (with an
           optional ``:min''), followed by an optional three-letter
           name for a daylight time zone.  For example, the setting for
           New Jersey would be EST5EDT.  The effects of setting TZ are
           thus to change the values of the external variables timezone
           and daylight; in addition, the time zone names contained in
           the external variable

                char *tzname[2] = { "EST", "EDT" };

           are set from the environment variable TZ.  The function
           tzset sets these external variables from TZ; tzset is called
           by asctime and may also be called explicitly by the user.

           Note that in most installations, TZ is set by default when
           the user logs on, to a value in the local /etc/profile file
           (see profile(4)).

      SEE ALSO
           time(2), getenv(3C), profile(4), environ(5).

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








      Page 2                                         (73 A2 02MTA REV1)



