C programming time.h function - time_t mktime(struct tm *timeptr)
The mktime()
function is a part of the standard C library and is declared in the <time.h>
header file. It is used to convert a struct tm
representation of a time to a time_t
representation, which represents the number of seconds since the Epoch.
The function signature is:
time_t mktime(struct tm *timeptr);Sww:ecruow.theitroad.com
The mktime()
function takes a pointer to a struct tm
that contains the broken-down time representation. It returns a time_t
value that represents the number of seconds since the Epoch, calculated from the given struct tm
.
Here is an example usage of mktime()
:
#include <stdio.h> #include <time.h> int main() { struct tm time_info = { .tm_sec = 0, .tm_min = 0, .tm_hour = 12, .tm_mday = 1, .tm_mon = 0, .tm_year = 121, .tm_isdst = -1 }; time_t time_value; // Convert the struct tm to a time_t time_value = mktime(&time_info); // Print the resulting time value printf("The time value is %ld.\n", (long)time_value); return 0; }
In this example, a struct tm
is initialized with a date and time of January 1st, 2021 at 12:00:00 PM. mktime()
is then used to convert the struct tm
to a time_t
value. The resulting time_t
value is printed to the console.
Note that mktime()
performs normalization on the struct tm
input, adjusting fields such as tm_hour
, tm_min
, and tm_sec
if necessary to ensure that the resulting time_t
value is within the range of values representable by time_t
. The tm_isdst
field can be set to -1 to indicate that the function should determine whether Daylight Saving Time is in effect for the given time.