mktime | function |
time_t mktime ( struct tm * timeptr ); |
<ctime> |
Convert tm structure to time_t
Interprets the contents of the tm structure pointed by timeptr as a calendar time expressed in local time. This calendar time is used to adjust the values of the members of timeptr accordingly and returned as an object of type time_t.
The original values of the members tm_wday and tm_yday of timeptr are ignored, and the ranges of values for the rest of its members are not restricted to their normal values (like tm_mday being between 1 and 31).
The object pointed by timeptr is modified, setting the tm_wday and tm_yday to their appropiate values, and modifying the other members as necessary to values within the normal range representing the specified time.
Parameters
- timeptr
- Pointer to a tm structure that contains a calendar time broken down into its components (see tm).
Return Value
A time_t value corresponding to the calendar time passed as argument.On error, a -1 value is returned.
Example
/* mktime example: weekday calculator */ #include <stdio.h> #include <time.h> int main () { time_t rawtime; struct tm * timeinfo; int year, month ,day; char * weekday[] = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; /* prompt user for date */ printf ("Enter year: "); scanf ("%d",&year); printf ("Enter month: "); scanf ("%d",&month); printf ("Enter day: "); scanf ("%d",&day); /* get current timeinfo and modify it to the user's choice */ time ( &rawtime ); timeinfo = localtime ( &rawtime ); timeinfo->tm_year = year - 1900; timeinfo->tm_mon = month - 1; timeinfo->tm_mday = day; /* call mktime: timeinfo->tm_wday will be set */ mktime ( timeinfo ); printf ("That day is a %s.\n", weekday[timeinfo->tm_wday]); return 0; } |
Output:
Enter year: 2000 |
See also.
asctime | Convert tm structure to string (function) |
gmtime | Convert time_t to tm as UTC time (function) |
localtime | Convert time_t to tm as local time (function) |
time | Get current time (function) |