Программирование >>  Структурное программирование 

1 ... 324 325 326 [ 327 ] 328 329 330 ... 342


А.13. Функции даты и времени <time.h>

CLOCKS PER SEC

Число интервалов в секунду; значение, возвращаемое функцией clock.

NULL

Константа нулевого указателя, зависящая от используемой системы. clock t

Арифметический тип, используемый для представления времени. time t

Арифметический тип, используемый для представления времени. size t

Целый без знака тип результата операции sizeof. struct tm

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

int tm sec; /* секунды после минуты - [О, 61[ */ int tm min; /* минуты после часа - [О, 59] */ int tm hour; /* часы, начиная с полуночи - [О, 23] */ int tm mday; /* день с начала месяца - [1, 31] */ int tm mon; /* месяцы, начиная с января - [О, 11] */ int tm year; /* годы, начиная с 1900 */

int tm wday; /* день недели, начиная с воскресенья - [О, 6] */ int tm yday; /* дни, начиная с 1 января - [О, 365] */ int tm isdst; /* флаг летнего времени */

Значение флага tm isdst равно положительному значению, если установлено летнее время, нулю, если летнее время не установлено, и отрицательному значению, если информации по этому вопросу нет.

clock t clock(void);

Функция clock используется для определения времени, использованного процессором. Функция clock возвращает наилучшее обеспечиваемое реализацией приближение процессорного времени, потраченного программой с начала ее выполнения. Чтобы определить время в секундах, нужно значение, возвращенное функцией clock, разделить на значение макроса CLOCKS PER SEC. Если значение использованного процессорного времени недоступно или не может быть представлено, функция возвращает значение (clock t) -1.

double difftime(time t timel, time t timeO);

Функция difftime вычисляет разность между двумя значениями календарного времени: timel и timeO. Функция difftime возвращает время, выраженное в секундах, как значение типа double.

time t mktime(struct tm *timeptr);

Функция mktime преобразует расчлененное на компоненты местное время, записанное в структуре, на которую указывает timeptr, в значение календарного времени с использованием того механизма представления, который использует функция time. Значения элементов tm wday и tm yday игнори-



руются, а значения других элементов структуры не ограничиваются указанными выше диапазонами. В случае успешного завершения элементы структуры tm wday и tm yday получают соответствующие значения, значения других элементов также изменяются в соответствии с диапазонами, обозначенными выше. Конечное значение tm mday устанавливается только тогда, когда определены значения tm mon и tm year. Функция mktime возвращает определенное календарное время в виде значения типа time t. Если значение календарного времени не может быть представлено, функция возвращает значение (time t) -1.

time t time(time t *timer);

Функция time определяет текущее календарное время. Функция time возвращает наилучшее приближение текущего календарного времени, обеспечиваемое реализацией. Если календарное время не доступно, то возвращается значение (time t) -1. Если timer не является нулевым указателем, то возвращаемое значение помещается в объект, на который ссылается указатель timer.

char *asctime(const struct tm *timeptr);

Функция asctime преобразует расчлененное на компоненты время из структуры, на которую ссылается timeptr, в строку формата

Sun Sep 16 01:03:52 1973\n\0

Функция asctime возвращает указатель на строку.

char *ctime(const time t *timer);

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

asctime (localtime (timer))

Функция ctime возвращает указатель, возвращаемый функцией asctime с тем же значением расчлененного на компоненты времени в качестве аргумента.

struct tm *gmtime(const time t *timer);

Функция gmtime преобразует календарное время, на которое ссылается timer, в расчлененное на компоненты время, представленное в формате универсального скоординированного времени (UTC). Функция gmtime возвращает указатель на этот объект, или нулевой указатель, если UTC недоступно.

struct tm *localtime(const time t *timer);

Функция localtime преобразует календарное время, на которое ссылается timer, в расчлененное на компоненты время, представленное в формате местного времени. Функция localtime возвращает указатель на этот объект.

size t strftime(char *s, size t maxsize,

const char *format, const struct tm *timeptr);

Функция strftime помещает символы в массив, на который указывает s, в соответствии со строкой форматирования, на которую ссылается format. Строка формата состоит из возможно нулевого числа спецификаций формата и многобайтовых символов. Все обычные символы (включая нулевой символ) копируются в массив в неизмененном виде. Если происходит копирование перекрывающихся объектов, результат не определен. В массив помещается не более, чем maxsize символов. Каждый спецификатор формата заменяется соответствующими символами в соответствии с приведенным ниже описани-



ем. Подставляемые символы определяются категорией LC TIME текущей локализации и значениями, содержащимися в структуре, адресуемой timeptr.

%а заменяется сокращенным именем дня недели в текущей локализации.

%А заменяется полным именем дня недели текущей локализации.

%Ь заменяется сокращенным именем месяца текущей локализации.

%В заменяется полным именем месяца текущей локализации.

%с заменяется соответствующим представлением даты и времени текущей локализации.

%d заменяется десятичным значением дня месяца (01-31).

%Н заменяется десятичным значением часа (24-х часовое исчисление): (00-23).

% I заменяется десятичным значением часа (12-ти часовое исчисление): (01-12).

%j заменяется десятичным значением дня года (001-366).

%т заменяется десятичным значением месяца (01-12).

%М заменяется десятичным значением минуты (00-59).

% р заменяется принятым в данной текущей локализации эквивалентом обозначения АМ/РМ, используемого при 12-ти часовой записи времени.

%S заменяется десятичным значением секунды (00-61).

% и заменяется десятичным значением номера недели с начала года (первое воскресенье считается первым днем недели номер 1): (00-53).

%w заменяется десятичным значением дня недели (0-6), где воскресенье имеет значение 0.

% W заменяется десятичным значением номера недели с начала года (первый понедельник считается первым днем недели номер 1): (00-53).

%х заменяется соответствующим представлением даты текущей локализации.

% X заменяется соответствующим представлением времени текущей локализации.

%у заменяется десятичным значением года без указания столетия (00-99).

%Y заменяется десятичным значением года с указанием столетия.

%Z заменяется именем или сокращением часового пояса или ничем, если часовой пояс не определен.

% % заменяется на % .

Попытка использования спецификатора формата, который не был определен в выщеупомянутом списке, приведет к неопределенному результату. Если общее количество символов после форматирования, включая завершающий нулевой символ, не превышает значения maxsize, функция strftime возвращает число символов, помещенное в массив, адресуемый s, не считая завершающего нулевого символа. В противном случае возвращается нулевое значение, а содержимое массива не определено.



1 ... 324 325 326 [ 327 ] 328 329 330 ... 342

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика