| Functions | ||||
| Time manipulation | ||||
(C11) | ||||
(C23) | ||||
| Format conversions | ||||
(deprecated in C23)(C11) | ||||
(deprecated in C23)(C11) | ||||
(C95) | ||||
(C23)(C11) | ||||
(C23)(C11) | ||||
mktime | ||||
| Constants | ||||
| Types | ||||
(C11) |
Defined in header <time.h> | ||
Renormalizes local calendar time expressed as astruct tm object and also converts it to time since epoch as atime_t object.arg->tm_wday andarg->tm_yday are ignored. The values inarg are not checked for being out of range.
A negative value ofarg->tm_isdst causesmktime to attempt to determine if Daylight Saving Time was in effect in the specified time.
If the conversion totime_t is successful, thearg object is modified. All fields ofarg are updated to fit their proper ranges.arg->tm_wday andarg->tm_yday are recalculated using information available in other fields.
Contents |
| arg | - | pointer to atm object specifying local calendar time to convert |
The time since epoch as atime_t object on success, or-1 ifarg cannot be represented as atime_t object (POSIX also requiresEOVERFLOW to be stored inerrno in this case).
If thestructtm object was obtained from POSIXstrptime or equivalent function, the value oftm_isdst is indeterminate, and needs to be set explicitly before callingmktime.
#define _POSIX_C_SOURCE 200112L // for setenv on gcc#include <stdio.h>#include <stdlib.h>#include <time.h> int main(void){ setenv("TZ","/usr/share/zoneinfo/America/New_York",1);// POSIX-specific structtmtm=*localtime(&(time_t){time(NULL)});printf("Today is %s",asctime(&tm));printf("(DST is %s)\n",tm.tm_isdst?"in effect":"not in effect");tm.tm_mon-=100;// tm_mon is now outside its normal range mktime(&tm);// tm_isdst is not set to -1; today's DST status is usedprintf("100 months ago was %s",asctime(&tm));printf("(DST was %s)\n",tm.tm_isdst?"in effect":"not in effect");}
Possible output:
Today is Fri Apr 22 11:53:36 2016(DST is in effect)100 months ago was Sat Dec 22 10:53:36 2007(DST was not in effect)
(C23)(C11) | converts time since epoch to calendar time expressed as local time (function)[edit] |
C++ documentation formktime | |