# tm

From cppreference.com
< c‎ | chrono

Defined in header `<time.h>` |  |
struct tm; |  |

Structure holding a calendar date and time broken down into its components.

### Member objects

int tm_sec | seconds after the minute – [0, 61](until C99) / [0, 60] (since C99)[note 1]
int tm_min | minutes after the hour – [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_isdst | Daylight Saving Time flag. The value is positive if DST is in effect, zero if not and negative if no information is available

###### Notes

1. ↑ Range allows for a positive leap second. Two leap seconds in the same minute are not allowed (the C90 range 0..61 was a defect)

### Example

Show the start of calendar time.

Run this code

    #include <stdio.h>
    #include <time.h>

    int main(void)
    {
        struct tm start = {.tm_mday=1};
        mktime(&start);
        printf("%s\n", asctime(&start));
    }

Possible output:

    Mon Jan  1 00:00:00 1900

### References

- C11 standard (ISO/IEC 9899:2011):

  - 7.27.1/3 Components of time (p: 388)

- C99 standard (ISO/IEC 9899:1999):

  - 7.23.1/3 Components of time (p: 338)

- C89/C90 standard (ISO/IEC 9899:1990):

  - 4.12.1 Components of time

### See also

localtime localtime_s (C11) | converts time since epoch to calendar time expressed as local time (function)
gmtime gmtime_s (C11) | converts time since epoch to calendar time expressed as Coordinated Universal Time (UTC) (function)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=c/chrono/tm&oldid=86475"