CTIME(3) BSD CTIME(3)
NAME
ctime, localtime, gmtime, asctime, timezone - 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;
char *timezone(zone, dst)
DESCRIPTION
ctime returns a pointer to a 26-character string expressing the time
arrived at by adding *clock seconds to midnight, January 1, 1970. The
string has the following form:
Mon Oct 19 17:53:56 1987\n\0
All the fields have constant width.
localtime and gmtime return pointers to structures containing the
individual components of the time. localtime corrects for the time zone
and daylight savings time (if necessary); gmtime converts directly to GMT
(Greenwich Mean Time), which is the time BSD uses. asctime converts a
time from the structures to ASCII and returns a pointer to a 26-character
string.
The structure declaration from the include file is as follows:
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 */
};
When local time is necessary, the program consults the system to
determine the time zone and whether the U.S.A., Australian, Eastern
European, Middle European, or Western European daylight savings time
adjustment is appropriate. The program understands some of the
peculiarities in time conversion over the past 10-20 years; if necessary,
this understanding can be extended.
timezone returns the name of the time zone associated with its first
argument, which is measured in minutes westward from Greenwich. If the
second argument is 0, the standard zone name is used; otherwise, the
Daylight Savings Zone. If the required name does not appear in a table
built into the routine, the difference from GMT is produced; for example,
in Afghanistan
timezone(-(60*4+30), 0)
is appropriate because Afghanistan is four and a half hours ahead of GMT.
This call would produce the string GMT+4:30.
SEE ALSO
gettimeofday(2), time(3)
NOTES
The return values point to static data whose content is overwritten by
each call.