#include <time.h> time_t mktime(struct tm *time);
Функция mktime() возвращает календарный эквивалент времени, хранящийся в разделенном на компоненты виде в структуре, которая адресуется параметром-указателем time. Элементы tm_wday и tm_yday устанавливаются самой функцией, поэтому их не нужно определять при ее вызове.
Если mktime() не может представить информацию в виде допустимого календарного времени, возвращается -1.
Эта программа сообщает день недели 3 января 2005 года:
#include <time.h> #include <stdio.h> int main(void) { struct tm t; time_t t_of_day; t.tm_year = 2005-1900; t.tm_mon = 0; t.tm_mday = 3; t.tm_hour = 0; /* Час, минута, секунда не имеют значения */ t.tm_min = 0; /* если только они не определяют переход */ t.tm_sec = 1; /* на новую дату */ t.tm_isdst = 0; t_of_day = mktime(&t); printf(ctime(&t_of_day)); return 0; }