std::mktime
From cppreference.com
Defined in header <ctime>
|
||
std::time_t mktime( std::tm* time ); |
||
Converts local calendar time to a time since epoch as a std::time_t object, ignoring the values of time->tm_wday and time->yday. The values of other components of time are not restricted to their usual ranges. A negative value of time->tm_isdst causes mktime to attempt to determine if Daylight Saving Time was in effect.
If successful, recalculates and updates all fields in time to fit their proper ranges.
Contents |
[edit] Parameters
time | - | pointer to a std::tm object specifying local calendar time to convert |
[edit] Return value
Time since epoch as a std::time_t object on success or -1 if time cannot be represented as a std::time_t object.
[edit] Example
Display the time 100 months ago
#include <iostream> #include <iomanip> #include <ctime> int main() { std::time_t t = std::time(NULL); std::tm tm = *std::localtime(&t); std::cout << "Today is " << std::put_time(&tm, "%c %Z") <<'\n'; tm.tm_mon -= 100; std::mktime(&tm); std::cout << "100 months ago was " << std::put_time(&tm, "%c %Z") << '\n'; }
Output:
Today is Wed Dec 28 09:56:10 2011 EST 100 months ago was Thu Aug 28 10:56:10 2003 EDT
[edit] See also
converts time since epoch to calendar time expressed as local time (function) | |
C documentation for mktime
|