The <time.h> header defines the
  tm structure that contains calendar dates and time
  broken down into components. The following standards-compliant fields are
  present:
  
    | Type | Field | Represents | Range | 
  
    | int | tm_sec | Seconds | [0, 60] | 
  
    | int | tm_min | Minutes | [0, 59] | 
  
    | int | tm_hour | Hours since midnight | [0, 23] | 
  
    | int | tm_mday | Day of the month | [1, 31] | 
  
    | int | tm_mon | Months since January | [0, 11] | 
  
    | int | tm_year | Years since 1900 |  | 
  
    | int | tm_wday | Days since Sunday | [0, 6] | 
  
    | int | tm_yday | Days since January 1 | [0, 365] | 
  
    | int | tm_isdt | Positive if daylight savings | >= 0 | 
The tm structure is used by various common
    library routines such as
    mktime(3),
    localtime(3), and
    strptime(3). All fields
    described above are defined in the IEEE Std 1003.1-2008
    (“POSIX.1”) standard.
In addition, the following NetBSD-specific fields are available:
  
    | Type | Field | Represents | 
  
    | int | tm_gmtoff | Offset from UTC in seconds | 
  
    | __aconst char | tm_zone | Timezone abbreviation | 
The tm_zone and
    tm_gmtoff fields exist, and are filled in by
    applicable library routines, only if arrangements to do so were made when
    the library containing these functions was created. There is no guarantee
    that these fields will continue to exist in this form in future releases of
    NetBSD.
The tm_gmtoff field denotes the offset (in
    seconds) of the time represented from UTC, with positive values indicating
    east of the Prime Meridian. The tm_zone field will
    become invalid and point to freed storage if the corresponding
    struct tm was returned by
    localtime_rz(3) and the
    const timezone_t tz argument has
    been freed by tzfree(3).
The tm structure conforms to IEEE Std
  1003.1-2008 (“POSIX.1”) with respect to the described
  standard structure members.