В библиотеке стандартных функций системы программирования С существует несколько функций, предназначенных для работы с датой и временем. В ней также определены функции, которые обрабатывают геополитическую информацию, связанную с программой. Ниже приводится описание этих функций.
Для использования функций времени и даты необходим заголовочный файл <time. h>. Этот файл определяет три типа данных, связанных с исчислением времени:
clock_t,
time__t, и
tm. Типы данных clock_t и time_t предназначены для представления системного времени и даты в виде некоторого целого значения, называемого календарным временем. Структурный тип tm содержит дату и время, разбитые на составляющие компоненты. Cтруктура 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 /*индикатор летнего времени */
Значение tm_isdst положительно, если действует режим летнего времени (Daylight Saving Time), равно нулю, если не действует, и отрицательно, если информация об этом недоступна. Такой формат представления времени и даты называется разделенным на компоненты календарным временем (broken-down time).
Кроме того, в <time.h> определен макрос
CLOCKS_PER_SEC, который содержит число тактов системных часов в секунду.