std::tm
From cppreference.com
Defined in header <ctime>
|
||
struct tm; |
||
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 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).
[edit] 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) |
[edit] Example
Run this code
#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
[edit] See also
converts time since epoch to calendar time expressed as local time (function) | |
converts time since epoch to calendar time expressed as Universal Coordinated Time (function) | |
C documentation for tm
|