.TH CTIME 3
.SH NAME
ctime, localtime, gmtime, asctime, tm2sec \- convert date and time
.SH SYNOPSIS
.B #include <u.h>
.br
.B #include <libc.h>
.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
.IR 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"
.IR date (1),
.IR 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
.IR intro (3).
