## 8 Time Functions (`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 `time.h` defines three types. `clock_t` and `time_t` are both used for representations of time particularly suitable for arithmetic. (In this implementation, quantities of type `clock_t` have the highest resolution possible on your machine, and quantities of type `time_t` resolve to seconds.) `size_t` is also defined if necessary for quantities representing sizes.

`time.h` also defines the structure `tm` for the traditional representation of Gregorian calendar time as a series of numbers, with the following fields:

`tm_sec`
  Seconds, between 0 and 60 inclusive (60 allows for leap seconds).
`tm_min`
  Minutes, between 0 and 59 inclusive.
`tm_hour`
  Hours, between 0 and 23 inclusive.
`tm_mday`
  Day of the month, between 1 and 31 inclusive.
`tm_mon`
  Month, between 0 (January) and 11 (December).
`tm_year`
  Year (since 1900), can be negative for earlier years.
`tm_wday`
  Day of week, between 0 (Sunday) and 6 (Saturday).
`tm_yday`
  Number of days elapsed since last January 1, between 0 and 365 inclusive.
`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.