Calendar time is represented as a number of seconds. This is convenient for calculation, but has no resemblance to the way people normally represent dates and times. By contrast, broken-down time is a binary representation separated into year, month, day, and so on. Broken down time values are not useful for calculations, but they are useful for printing human readable time.
A broken-down time value is always relative to a choice of local time zone, and it also indicates which time zone was used.
The symbols in this section are declared in the header file `time.h'.
59. (The actual upper limit is
60, to allow for leap seconds if leap second support is available.)
long int tm_gmtoff
tm_gmtofffield is derived from BSD and is a GNU library extension; it is not visible in a strict ISO C environment.
const char *tm_zone
tm_gmtoff, this field is a BSD and GNU extension, and is not visible in a strict ISO C environment.
localtimefunction converts the calendar time pointed to by time to broken-down time representation, expressed relative to the user's specified time zone.
The return value is a pointer to a static broken-down time structure, which
might be overwritten by subsequent calls to
localtime. (But no other library function overwrites the contents
of this object.)
localtime has one other effect: it sets the variable
tzname with information about the current time zone. See section Functions and Variables for Time Zones.
localtime, except that the broken-down time is expressed as Coordinated Universal Time (UTC)---that is, as Greenwich Mean Time (GMT)---rather than relative to the local time zone.
Recall that calendar times are always expressed in coordinated universal time.
mktimefunction is used to convert a broken-down time structure to a calendar time representation. It also "normalizes" the contents of the broken-down time structure, by filling in the day of week and day of year based on the other date and time components.
mktime function ignores the specified contents of the
tm_yday members of the broken-down time
structure. It uses the values of the other components to compute the
calendar time; it's permissible for these components to have
unnormalized values outside of their normal ranges. The last thing that
mktime does is adjust the components of the brokentime
structure (including the
If the specified broken-down time cannot be represented as a calendar time,
mktime returns a value of
(time_t)(-1) and does not modify
the contents of brokentime.
mktime also sets the variable
information about the current time zone. See section Functions and Variables for Time Zones.
Go to the first, previous, next, last section, table of contents.