CTIME(3-BSD) RISC/os Reference Manual CTIME(3-BSD)
NAME
ctime, localtime, gmtime, asctime, timezone, tzset - con-
vert date and time to ASCII
SYNOPSIS
#include <sys/type.h>
void tzset()
char *ctime(clock)
time_t *clock;
#include <time.h>
char *asctime(tm)
struct tm *tm;
struct tm *localtime(clock)
time_t *clock;
struct tm *gmtime(clock)
time_t *clock;
char *timezone(zone, dst)
DESCRIPTION
tzset uses the value of the environment variable TZ to set
up the time conversion information used by localtime.
If TZ does not appear in the environment, the TZDEFAULT file
(as defined in tzfile.h) is used by localtime. If this file
fails for any reason, the GMT offset as provided by the ker-
nel is used. In this case, DST is ignored, resulting in the
time being incorrect by some amount if DST is currently in
effect. If this fails for any reason, GMT is used.
If TZ appears in the environment but its value is a null
string, Greenwich Mean Time is used; if TZ appears and
begins with a slash, it is used as the absolute pathname of
the tzfile(5)-format file from which to read the time
conversion information; if TZ appears and begins with a
character other than a slash, it's used as a pathname rela-
tive to the system time conversion information directory,
defined as TZDIR in the include file tzfile.h. If this file
fails for any reason, GMT is used.
Programs that always wish to use local wall clock time
should explicitly remove the environmental variable TZ with
unsetenv (see getenv(3)).
ctime converts a longer integer, pointed to by clock, such
as returned by time(3C) into ASCII and returns a pointer to
a 26-character string in the following form. All the fields
Printed 11/19/92 Page 1
CTIME(3-BSD) RISC/os Reference Manual CTIME(3-BSD)
have constant width.
Sun Sep 16 01:03:52 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, which is the time UNIX uses. asctime con-
verts a broken-down time to ASCII and returns a pointer to a
26-character string.
The structure declaration from the include file is:
struct tm {
int tm_sec; /* 0-59 seconds */
int tm_min; /* 0-59 minutes */
int tm_hour; /* 0-23 hour */
int tm_mday; /* 1-31 day of month */
int tm_mon; /* 0-11 month */
int tm_year; /* 0- year - 1900 */
int tm_wday; /* 0-6 day of week (Sunday = 0) */
int tm_yday; /* 0-365 day of year */
int tm_isdst; /* flag: daylight savings time in effect */
char **tm_zone; /* abbreviation of timezone name */
long tm_gmtoff; /* offset from GMT in seconds */
};
tm_isdst is non-zero if a time zone adjustment such as Day-
light Savings time is in effect.
tm_gmtoff is the offset (in seconds) of the time represented
from GMT, with positive values indicating East of Greenwich.
timezone remains for compatability reasons only; it is
impossible to reliably map timezone's arguments zone, a
"mintues west of GMT" value and dst, a "daylight saving time
in effect" flag, to a time zone abbreviation.
If the environmental string TZNAME exists, timezone returns
its value, unless it consists of two comma separated
strings, in which case the second string is returned if dst
is non-zero, else the first string. If TZNAME doesn't
exist, zone is checked for equality with a built-in table of
values, in which case timezone returns the time zone or day-
light time zone abbreviation associated with that value. If
the requested zone does not appear in the table, the differ-
ence from GMT is returned; e.g., in Afghanistan, timezone(-
(60*4+30), 0) is appropriate because it is 4:30 ahead of
GMT, and the return string GMT+430 is returned. Programs
that in the past used the timezone function should return
the zone name as set by localtime to assure correctness.
Page 2 Printed 11/19/92
CTIME(3-BSD) RISC/os Reference Manual CTIME(3-BSD)
FILES
/etc/zoneinfo time zone information directory
/etc/zoneinfo/localtime local time zone file
SEE ALSO
gettimeofday(2), getenv(3), time(3C), environ(5).
NOTE
The return values point to static data whose content is
overwritten by each call. The tm_zone field of a returned
struct tm points to a static array of characters, which will
also be overwritten at the next call (and by calls to
tzset).
Printed 11/19/92 Page 3