On this page
tm
Defined in header <time.h> | 
      ||
|---|---|---|
 | 
      
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]  (public member object)  | 
     
| 
        int tm_min
         | 
      minutes after the hour – [0, 59]  (public member object)  | 
     
| 
        int tm_hour
         | 
      hours since midnight – [0, 23]  (public member object)  | 
     
| 
        int tm_mday
         | 
      day of the month – [1, 31]  (public member object)  | 
     
| 
        int tm_mon
         | 
      months since January – [0, 11]  (public member object)  | 
     
| 
        int tm_year
         | 
      years since 1900  (public member object)  | 
     
| 
        int tm_wday
         | 
      days since Sunday – [0, 6]  (public member object)  | 
     
| 
        int tm_yday
         | 
      days since January 1 – [0, 365]  (public member object)  | 
     
| 
        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  (public member object)  | 
     
Notes
The Standard mandates only the presence of the aforementioned members in either order. The implementations usually add more data-members to this structure.
- Range allows for a positive leap second. Two leap seconds in the same minute are not allowed (the C89 range 0..61 was a defect)
 
Example
#include <stdio.h>
#include <time.h>
 
int main(void)
{
    struct tm start = {.tm_year=2022-1900, .tm_mday=1};
    mktime(&start);
    printf("%s", asctime(&start));
}
   Output:
Sat Jan  1 00:00:00 2022
   References
- C17 standard (ISO/IEC 9899:2018):
 - 7.27.1/3 Components of time (p: 284)
 - 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
| 
       
        (C23)(C11)
         | 
      converts time since epoch to calendar time expressed as local time  (function)  | 
     
| 
       
        (C23)(C11)
         | 
      converts time since epoch to calendar time expressed as Coordinated Universal Time (UTC)  (function)  | 
     
C++ documentation for tm | 
     |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
 https://en.cppreference.com/w/c/chrono/tm