The Single UNIX ® Specification, Version 2
Copyright © 1997 The Open Group

 NAME

mktime - convert broken-down time into time since the Epoch

 SYNOPSIS



#include <time.h>

time_t mktime(struct tm *timeptr);

 DESCRIPTION

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.

 RETURN VALUE

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.

 ERRORS

No errors are defined.

 EXAMPLES

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;
}

 APPLICATION USAGE

None.

 FUTURE DIRECTIONS

None.

 SEE ALSO

asctime(), clock(), ctime(), difftime(), gmtime(), localtime(), strftime(), strptime(), time(), utime(), <time.h>.

DERIVATION

Derived from the POSIX.1-1988 standard and ANSI C standard.

UNIX ® is a registered Trademark of The Open Group.
Copyright © 1997 The Open Group
[ Main Index | XSH | XCU | XBD | XCURSES | XNS ]