< c‎ | chrono
Defined in header <time.h>
struct tm;

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


[edit] 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
[edit] 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)

[edit] Example

Show the start of calendar time.

#include <stdio.h>
#include <time.h>
int main(void)
    struct tm start = {.tm_mday=1};
    printf("%s\n", asctime(&start));

Possible output:

Mon Jan  1 00:00:00 1900

[edit] 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

[edit] See also

converts time since epoch to calendar time expressed as local time
(function) [edit]
converts time since epoch to calendar time expressed as Coordinated Universal Time (UTC)
(function) [edit]