The mktime function converts a local-time structure (struct tm) pointed to by timeptr, to a time in seconds since the Epoch (a time_t variable), in the same manner as the values returned by the time function. 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 defined in <time.h>. Upon successful completion, the tm_wday and tm_yday components of the structure are set appropriately, and the other components are set to represent the specified time, with their values forced to the normal range. If the local time cannot be encoded, then mktime returns the value (time_t)(-1). The time_t type is defined in the <time.h> header file as follows: typedef unsigned long int time_t; Local time-zone information is set as if mktime called tzset. If the tm_isdst field in the local-time structure pointed to by timeptr is positive, mktime initially presumes that Daylight Savings Time (DST) is in effect for the specified time. If tm_isdst is 0, mktime initially presumes that DST is not in effect. If tm_isdst is negative, mktime attempts to determine whether or not DST is in effect for the specified time.