Originální popis anglicky:
mktime - convert broken-down time into time since the Epoch
Návod, kniha: POSIX Programmer's Manual
#include <time.h>
time_t mktime(struct tm *
timeptr);
The
mktime() function shall convert 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
<time.h>.
A positive or 0 value for
tm_isdst shall cause
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 shall cause
mktime() to attempt to determine whether Daylight Savings Time is in
effect for the specified time.
Local timezone information shall be set as though
mktime() called
tzset().
The relationship between the
tm structure (defined in the
<time.h> header) and the time in seconds since the Epoch is that
the result shall be as specified in the expression given in the definition of
seconds since the Epoch (see the Base Definitions volume of
IEEE Std 1003.1-2001, Section 4.14, Seconds Since the Epoch)
corrected for timezone and any seasonal time adjustments, where the names in
the structure and in the expression correspond.
Upon successful completion, the values of the
tm_wday and
tm_yday
components of the structure shall be 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 shall not be set until
tm_mon
and
tm_year are determined.
The
mktime() function shall return 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 shall return the value (
time_t)-1.
No errors are defined.
The following sections are informative.
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.
None.
asctime() ,
clock() ,
ctime() ,
difftime() ,
gmtime() ,
localtime() ,
strftime() ,
strptime() ,
time() ,
utime() , the Base Definitions volume of
IEEE Std 1003.1-2001,
<time.h>
Portions of this text are reprinted and reproduced in electronic form from IEEE
Std 1003.1, 2003 Edition, Standard for Information Technology -- Portable
Operating System Interface (POSIX), The Open Group Base Specifications Issue
6, Copyright (C) 2001-2003 by the Institute of Electrical and Electronics
Engineers, Inc and The Open Group. In the event of any discrepancy between
this version and the original IEEE and The Open Group Standard, the original
IEEE and The Open Group Standard is the referee document. The original
Standard can be obtained online at http://www.opengroup.org/unix/online.html
.