CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
mktime
mktime
Функция Преобразует время к календарному времени.
Синтаксис #include<time.h>
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<stdio.h>
#include<time.h>
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;
}
