tm - cppreference.com (original) (raw)

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

Contents

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

The Standard mandates only the presence of the aforementioned members in either order. The implementations usually add more data-members to this structure.

  1. 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)

[edit] 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)); // note implicit trailing '\n' }

Output:

[edit] References

[edit] See also