Содержание | Глава 16

Функция mktime

#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;
}

Зависимые функции

time() gmtime() asctime() ctime()
Содержание | Глава 16