В библиотеке стандартных функций несколько функций предназначено для работы с датой и временем. В ней также определены функции, которые обрабатывают геополитическую информацию, связанную с программой. Приведем описание этих функций.
Для использования функций времени и даты необходим заголовочный файл <time.h>. Этот файл определяет три типа данных, связанных с исчислением времени: clock_t, time_t, и tm. Типы данных clock_t и time_t предназначены для представления системного времени и даты в виде некоторого целого значения, называемого календарным временем. Структурный тип tm содержит дату и время, разбитые на составляющие компоненты. Структура tm состоит из следующих членов:
int tm_sec; | /* секунды, 0-60 */ |
int tm_min; | /* минуты, 0-59 */ |
int tm_hour; | /* часы, 0-23 */ |
int tm_mday; | /* день месяца, 1-31 */ |
int tni_mon; | /* месяцы, начиная с января, 0-11 */ |
int tm_year; | /* годы, начиная с 1900 */ |
int tm_wday; | /* дни, начиная с воскресенья, 0-6 */ |
int tm_yday; | /* дни, начиная с 1 января, 0-365 */ |
int tm_isdst; | /* индикатор летнего времени */ |
Значение tmisdst положительно, если действует режим летнего времени (Daylight Saving Time), равно нулю, если не действует, и отрицательно, если информация об этом недоступна. Такой формат представления времени и даты называется разделенным на компоненты календарным временем (broken-down time).
Кроме того, в <time.h> определен макрос CLOCKS_PER_SEC, который содержит число тактов системных часов в секунду.
Функции геополитического окружения описаны в заголовочном файле <locale.h>. В нем определена структура lconv, которая приведена в описании функции localeconv().
asctime