mktime

Функция            Преобразует время к календарному времени.

Синтаксис          #include
                   time_t mktime(struct tm *t);

Файл, содержащий   time.h
прототип

Описание           Преобразует время из структуры, на которую указы-
                   вает параметр t, в календарное время в формат,
                   используемый функцией time. Исходные значение по-
                   лей tm_sec, tm_min, tm_hour, tm_mday и tm_mon не
                   ограничены диапазонами, приведенными при описании
                   структуры tm. Если значение поля выходит за ука-
                   занные пределы, то оно приводится к нужному диа-
                   пазону. Значения для полей tm_wday и tm_yday вы-
                   числяются после приведения остальных значений.

Возвращаемое       Смотри комментарии.
значение

Переносимость      mktime поддерживается стандартом ANSI C.

Смотрите также      localtime strftime time

Пример:

#include
#include

char *wday[] = {"Воскресенье","Понедельник","Вторник",
                "Среда","Четверг","Пятница","Суббота",
                "Неизвестен"};

int main(void)
{
   struct tm time_check;
   int year,month,day;
   /* для нахождения дня недели, необходимо ввести
      день, месяц и год */
   printf("Год:  ");
   scanf("%d",&year);
   printf("Месяц:  ");
   scanf("%d",&month);
   printf("День:  ");
   scanf("%d",&day);
   /* занести данные в структуру time_check */
   time_check.tm_year = year -1900;
   time_check.tm_mon = month - 1;
   time_check.tm_mday = day;
   time_check.tm_hour = 0;
   time_check.tm_min = 0;
   time_check.tm_sec = 0;
   time_check.tm_isdst = -1;
   /* для заполнения оставшихся полей вызвать mktime */
   if(mktime(&time_check) == -1)
       time_check.tm_wday = 7;
   /* вывести день недели */
   printf("Это был: %s\n",wday[time_check.tm_wday]);
   return 0;
}