@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