### mktime -- Convert Local Time

Format

>     #include <time.h>
>     time_t mktime(struct tm *time);

Language Level: ANSI, POSIX, XPG4
mktime converts local time, stored as a tm structure pointed to by time, into a time_t value suitable for use with other time functions. The values of some structure elements pointed to by time are not restricted to the ranges shown for gmtime -- Convert Time .

The values of tm_wday and tm_yday passed to mktime are ignored and are assigned their correct values on return, and the other components [of the tm structure] are set to represent the specified calendar time, but with their values forced to the ranges indicated above.

Note:
Calendar time is the number of seconds that have elapsed since EPOCH, which is 00:00:00, January 1, 1970 Universal Coordinate Time (UTC).

On both OS/2 and Windows, the time and date functions begin at 00:00:00 Universal Coordinate Time, January 1, 1970, and do not have an upper limit.

Return Value
mktime returns the calendar time having type time_t. The value (time_t)(-1) is returned if the calendar time cannot be represented.

Example
This example prints the day of the week that is 40 days and 16 hours from the current date.

    #include <stdio.h>
    #include <time.h>

    int main(void)
    {
       time_t t1;
       struct tm *t2;
       char buffer[50];

       t1 = time(NULL);
       t2 = localtime(&t1);
       t2->tm_mday += 40;
       t2->tm_hour += 16;
       mktime(t2);
       strftime(buffer, sizeof(buffer), "%A", t2);
       printf("40 days and 16 hours from now, it will be a %s \n", buffer);
       return 0;

       /*******************************************************************
          The output should be similar to:

          40 days and 16 hours from now, it will be a Sunday
       *******************************************************************/
    }

asctime -- Convert Time to Character String
ctime -- Convert Time to Character String
gmtime -- Convert Time
localtime -- Convert Time
time -- Determine Current Time
<time.h>