std::tm
Defined in header <ctime> | ||
|---|---|---|
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 C++11) [0, 60](since C++11)[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) |
- Range allows for a positive leap second. Two leap seconds in the same minute are not allowed (the range
[0,61]was a defect introduced in C89 and corrected in C99).
Notes
BSD, GNU and musl C library support two additional members, which are standardized in POSIX.1-2024.
|
long tm_gmtoff | seconds east of UTC (public member object) |
|
const char* tm_zone | timezone abbreviation (public member object) |
Example
#include <ctime>
#include <iostream>
int main()
{
std::tm tm{};
tm.tm_year = 2022 - 1900;
tm.tm_mday = 1;
std::mktime(&tm);
std::cout << std::asctime(&tm); // note implicit trailing '\n'
}
Possible output:
Sat Jan 1 00:00:00 2022
See also
|
(C++26) | converts time since epoch to calendar time expressed as local time (function) |
|
(C++26) | converts time since epoch to calendar time expressed as Universal Coordinated Time (function) |
C documentation for tm |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/chrono/c/tm