CTIME(3C) — UNIX 3.0
NAME
ctime, localtime, gmtime, asctime, tzset − convert date and time to ASCII
SYNOPSIS
char ∗ctime (clock)
long ∗clock;
#include <time.h>
struct tm ∗localtime (clock)
long ∗clock;
struct tm ∗gmtime (clock)
long ∗clock;
char ∗asctime (tm)
struct tm ∗tm;
tzset ( )
DESCRIPTION
Ctime converts a time pointed to by clock such as returned by time(2) into ASCII 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 structures containing the broken-down time. Localtime corrects for the time zone and possible daylight savings time; gmtime converts directly to GMT, which is the time the UNIX system uses. Asctime converts a broken-down time to ASCII and returns a pointer to a 26-character string.
The structure declaration from the include file is:
structtm {/* see ctime(3) */
inttm_sec;
inttm_min;
inttm_hour;
inttm_mday;
inttm_mon;
inttm_year;
inttm_wday;
inttm_yday;
inttm_isdst;
};
These quantities give the time on a 24-hour clock, day of month (1-31), month of year (0-11), day of week (Sunday = 0), year − 1900, day of year (0-365), and a flag that is non-zero if daylight saving 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 time in hours, 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. The function tzset sets the external variables from TZ; it is called by asctime and may also be called explicitly by the user.
SEE ALSO
time(2), getenv(3C), environ(7).
BUGS
The return values point to static data whose content is overwritten by each call.
May 16, 1980