mktime(3P) INTERACTIVE UNIX System (POSIX) mktime(3P)
NAME
mktime - converts broken-down time into a calendar time
value
SYNOPSIS
#include <time.h>
time_t mktime(timeptr);
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
calendar time value with the same encoding as that of 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 indicated above. (Thus, a
positive or zero value for tm_isdst causes the mktime func-
tion to presume initially that Daylight Saving Time, respec-
tively, is or is not in effect for the specified time. A
negative value for tm_isdst causes the mktime function to
attempt to determine whether Daylight Saving Time is in
effect for the specified time.) On 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 calendar time, but with
their values forced to the ranges indicated above; the final
value of tm_mday is not set until tm_mon and tm_year are
determined.
RETURN VALUES
The mktime function returns the specified calendar time
encoded as a value of type time_t. If the calendar time
cannot be represented, the function returns the value -1.
EXAMPLE
What day of the week is July 4, 2001?
#include <stdio.h>
#include <time.h>
static const char *const wday[] = {
"Sunday", "Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday", "-unknown-"
};
struct tm time_str;
/* . . . */
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;
Rev. 1.1 Page 1
mktime(3P) INTERACTIVE UNIX System (POSIX) mktime(3P)
time_str.tm_sec = 1;
time_str.tm_isdst = -1;
if (mktime(&time_str) == -1)
time_str.tm_wday = 7;
printf("%s0, wday[time_str.tm_wday]);
Rev. 1.1 Page 2