time.h

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

time.h — заголовний файл стандартної бібліотеки мови програмування С, що містить типи і функції для роботи з датою й часом.

Вступ[ред. | ред. код]

Деякі функції можуть працювати з місцевим часом, який може відрізнятися від календарного, наприклад у зв'язку з часовими поясами. Визначено арифметичні типи clock_t і time_t для представлення часу, а структура struct tm містить компоненти календарного часу.

Ім'я Опис
int tm_sec; Секунди від початку хвилини (0,59)
int tm_min; Хвилини від початку години (0,59)
int tm_hour; Години від півночі (0,23)
int tm_mday; Число місяця (1,31)
int tm_mon; Місяці після січня (0,11)
int tm_year; Роки з 1900 (в Windows), з 1970 (в Unix)
int tm_wday; Дні з неділі (0,6)
int tm_yday; Дні з першого січня (0,365)
int tm_isdst; Ознака літнього часу

Поле tm_isdst має позитивне значення, якщо активний режим літнього часу, нуль в іншому випадку і негативне значення, якщо інформація про сезон часу недоступна / невідома.

Основні функції[ред. | ред. код]

clock_t clock (void)

Повертає час, вимірюваний процесором в тактах від початку виконання програми, або −1, якщо воно не відомо. Перерахунок цього часу в секунди виконується за формулою clock
() / CLOCKS_PER_SEC.

time_t time (time_t * tp)

Повертає поточне календарний час або −1, якщо цей час не відомо. Якщо покажчик tp не дорівнює NULL, то повертається значення записується також і в * tp.

double difftime (time_t time2, time_t time1)

Повертає різницю time2-time1, виражену в секундах.

time_t mktime (struct tm * tp)

Перетворює місцевий час, заданий структурою * tp, в календарне і повертає його в тому ж вигляді, що і функція time (). Компоненти структури будуть мати значення в зазначених вище діапазонах. Функція повертає календарне час або −1, якщо воно не представимо.

char * asctime (const struct tm * tp)

Перетворює час із структури * tp в рядок виду «Sun Jan 3 15:14:13 1988 \ n \ 0»

Константи[ред. | ред. код]

CLOCKS_PER_SEC

Визначає кількість тактів системного годинника в секунду. Використовується для перерахунку величини, що повертається функцією clock (), в секунди.

CLK_PER_SEC

Альтернативне ім'я константи CLOCKS_PER_SEC, що використовується в деяких бібліотеках.

CLK_TCK

макрос для константи CLOCKS_PER_SEC, вийшов з ужитку.

Типи даних[ред. | ред. код]

clock_t

Повертається функцією clock (). Зазвичай визначений як int або long int.

time_t

Повертається функцією time (). Зазвичай визначений як int або long int.

struct tm

Нелінійне, дискретне календарне уявлення часу.

Приклад використання[ред. | ред. код]

Виведення на екран поточного часу.

# include <stdio.h>
# include <time.h>

int main(void)
{
  const time_t timer = time(NULL);
  printf("%s\n", ctime(&timer));
  return 0;
}

Посилання[ред. | ред. код]