Namespaces
Variants
Views
Actions

std::mktime

From cppreference.com
< cpp‎ | chrono‎ | c
Revision as of 16:46, 2 November 2012 by P12bot (Talk | contribs)

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

#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

Template:cpp/chrono/c/dcl list localtime
C documentation for mktime