Глава 16. Функции времени, даты и локализации

Содержание

Функции времени, даты и локализации


В библиотеке стандартных функций несколько функций предназначено для работы с датой и временем. В ней также определены функции, которые обрабатывают геополитическую информацию, связанную с программой. Приведем описание этих функций.

Для использования функций времени и даты необходим заголовочный файл <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
clock
ctime
difftime
gmtime
localeconv
localtime
mktime
setlocale
strftime
time