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 |
Parameters
time | - | pointer to a std::tm object specifying local calendar time to convert |
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.
Example
Display the time 100 months ago
Run this code
#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
See also
C documentation for mktime
|