@node Timefns
@chapter Time Functions (@file{time.h})

This chapter groups functions used either for reporting on time
(elapsed, current, or compute time) or to perform calculations based
on time.

The header file @file{time.h} defines three types.  @code{clock_t} and
@code{time_t} are both used for representations of time particularly
suitable for arithmetic.  (In this implementation, quantities of type
@code{clock_t} have the highest resolution possible on your machine,
and quantities of type @code{time_t} resolve to seconds.)  @code{size_t}
is also defined if necessary for quantities representing sizes. 

@file{time.h} also defines the structure @code{tm} for the traditional
representation of Gregorian calendar time as a series of numbers, with
the following fields: 

@table @code
@item tm_sec
Seconds, between 0 and 60 inclusive (60 allows for leap seconds).

@item tm_min
Minutes, between 0 and 59 inclusive.

@item tm_hour
Hours, between 0 and 23 inclusive.

@item tm_mday
Day of the month, between 1 and 31 inclusive.

@item tm_mon
Month, between 0 (January) and 11 (December).

@item tm_year
Year (since 1900), can be negative for earlier years.

@item tm_wday
Day of week, between 0 (Sunday) and 6 (Saturday).

@item tm_yday
Number of days elapsed since last January 1, between 0 and 365 inclusive.

@item tm_isdst
Daylight Savings Time flag: positive means DST in effect, zero means DST
not in effect, negative means no information about DST is available.
Although for mktime(), negative means that it should decide if DST is in
effect or not.
@end table

@menu
* asctime::     Format time as string
* clock::       Cumulative processor time
* ctime::       Convert time to local and format as string
* difftime::    Subtract two times
* gmtime::      Convert time to UTC (GMT) traditional representation
* localtime::   Convert time to local representation
* mktime::      Convert time to arithmetic representation
* strftime::    Convert date and time to a user-formatted string
* time::        Get current calendar time (as single number)
* __tz_lock::   Lock time zone global variables
* tzset::       Set timezone info
@end menu

@page
@include time/asctime.def

@page
@include time/clock.def

@page
@include time/ctime.def

@page
@include time/difftime.def

@page
@include time/gmtime.def

@page
@include time/lcltime.def

@page
@include time/mktime.def

@page
@include time/strftime.def

@page
@include time/time.def

@page
@include time/tzlock.def

@page
@include time/tzset.def
