.TH CTIME 3 .SH NAME ctime, localtime, gmtime, asctime, tm2sec \- convert date and time .SH SYNOPSIS .B #include .br .B #include .PP .ta \w'\fLchar* 'u .B char* ctime(long clock) .PP .B Tm* localtime(long clock) .PP .B Tm* gmtime(long clock) .PP .B char* asctime(Tm *tm) .PP .B long tm2sec(Tm *tm) .SH DESCRIPTION .I Ctime converts a time .I clock such as returned by .MR time (3) into .SM ASCII (sic) and returns a pointer to a 30-byte string in the following form. All the fields have constant width. .PP .B Wed Aug 5 01:07:47 EST 1973\en\e0 .PP .I Localtime and .I gmtime return pointers to structures containing the broken-down time. .I Localtime corrects for the time zone and possible daylight savings time; .I gmtime converts directly to GMT. .I Asctime converts a broken-down time to .SM ASCII and returns a pointer to a 30-byte string. .IP .EX .ta 6n +\w'char 'u +\w'zone[4]; 'u 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; .EE .PP .I Tm2sec converts a broken-down time to seconds since the start of the epoch. It ignores .BR wday , and assumes the local time zone if .B zone is not .BR GMT . .SH SOURCE .B \*9/src/lib9/ctime.c .br .B \*9/src/lib9/tm2sec.c .SH "SEE ALSO" .MR date (1) , .MR time (3) .SH BUGS The return values point to static data whose content is overwritten by each call. .PP Daylight Savings Time is ``normal'' in the Southern hemisphere. .PP These routines are not equipped to handle non-\c .SM ASCII text, and are provincial anyway. .PP To avoid name conflicts with the underlying system, .IR ctime , .IR localtime , .IR gmtime , .IR asctime , and .I tm2sec are preprocessor macros defined as .IR p9ctime , .IR p9localtime , .IR p9gmtime , .IR p9asctime , and .IR p9tm2sec ; see .MR intro (3) .