В библиотеке стандартных функций системы программирования С существует несколько функций, предназначенных для работы с датой и временем. В ней также определены функции, которые обрабатывают геополитическую информацию, связанную с программой. Ниже приводится описание этих функций.
Для использования функций времени и даты необходим заголовочный файл <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, который содержит число тактов системных часов в секунду.
Функции геополитического окружения описаны в заголовочном файле <locale.h>. В нем определена структура lconv, которая приведена в описании функции localeconv().