mktime - convert broken-down time into time since the Epoch
#include <time.h> time_t mktime(struct tm *timeptr);
The mktime() function converts the broken-down time, expressed as local time, in the structure pointed to by timeptr, into a time since the Epoch value with the same encoding as that of the values returned by time(). The original values of the tm_wday and tm_yday components of the structure are ignored, and the original values of the other components are not restricted to the ranges described in the <time.h> entry.A positive or 0 value for tm_isdst causes mktime() to presume initially that Daylight Savings Time, respectively, is or is not in effect for the specified time. A negative value for tm_isdst causes mktime() to attempt to determine whether Daylight Saving Time is in effect for the specified time.
Local timezone information is set as though mktime() called tzset().
Upon successful completion, the values of the tm_wday and tm_yday components of the structure are set appropriately, and the other components are set to represent the specified time since the Epoch, but with their values forced to the ranges indicated in the <time.h> entry; the final value of tm_mday is not set until tm_mon and tm_year are determined.
The mktime() function returns the specified time since the Epoch encoded as a value of type time_t. If the time since the Epoch cannot be represented, the function returns the value (time_t)-1.
No errors are defined.
What day of the week is July 4, 2001?#include <stdio.h> #include <time.h> struct tm time_str; char daybuf[20]; int main(void) { time_str.tm_year = 2001 - 1900; time_str.tm_mon = 7 - 1; time_str.tm_mday = 4; time_str.tm_hour = 0; time_str.tm_min = 0; time_str.tm_sec = 1; time_str.tm_isdst = -1; if (mktime(&time_str) == -1) (void)puts("-unknown-"); else { (void)strftime(daybuf, sizeof(daybuf), "%A", &time_str); (void)puts(daybuf); } return 0; }
None.
None.
asctime(), clock(), ctime(), difftime(), gmtime(), localtime(), strftime(), strptime(), time(), utime(), <time.h>.
Derived from the POSIX.1-1988 standard and ANSI C standard.