|
Программирование >> Структурное программирование
А.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, не считая завершающего нулевого символа. В противном случае возвращается нулевое значение, а содержимое массива не определено.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |