asctime_r – представление локального (местного) времени в виде текстовой строки
Синтаксис:
#include < time.h >
char *asctime_r (const struct tm *m_time, char *buf);
Аргументы:
m_time – указатель на структуру содержащую локальное (местное) время и дату.
buf – указатель на строку длинною не менее 26 символов, в которую будет помещен результат преобразования.
Возвращаемое значение:
При успешном завершении возвращается указатель на строку, содержащую преобразованные дату и время (строку buf).
В случае ошибки функция возвращает NULL.
Описание:
Функция asctime_r () преобразует локальное (местное) время представленное в виде структуры типа struct tm, на которую указывает аргумент m_time в текстовую строку длинною 26 символов. Результат преобразования помещается в строку, на которую указывает аргумент buf.
Преобразованная строка имеет вид: «Нед. Мес. Ден. Час:Mин:Сек Год\n\0», где:
Нед – день недель (3 символа),
Мес – название месяца (3 символа),
Ден – число (2 символа),
Час – часы (2 символа),
Мин – минуты (2 символа),
Сек – секунды (2 символа),
Год – Год (4 символа).
Структура tm содержит элементы:
int tm_sec – секунды (отсчет с 0);
int tm_min – минуты (отсчет с 0);
int tm_hour - часы (отсчет с 0);
int tm_mday - день месяца (отсчет с 1);
int tm_mon - месяц (отсчет с 0);
int tm_year – год;
int tm_wday - день недели (воскресенье - 0);
int tm_yday - день в году (отсчет с 0);
int tm_isdst - признак "летнее время" (больше нуля если «летнее время», ноль если «зимнее время», меньше нуля если нет информации.
Пример:
В примере определяется текущее системное время в секундах, преобразуется в локальное время (с учетом часового пояса) с помощью функции localtime_r, затем локальное время преобразуется в текстовую строку с помощью функции asctime_r и результат выводится в консоль.
#include < stdio.h > //Для printf
#include < time.h > //Для time, localtime_r, asctime_r
int main (void)
{
//Переменная для сохранения текущего системного времени
long int s_time;
//Структура, в который будет помещен результат преобразования
struct tm m_time;
//Буфер, в который будет записана текстовая строка
char buf[26]=””;
//Считываем текущее системное время
s_time = time (NULL);
//Преобразуем системное время в локальное
localtime_r (&s_time, &m_time);
// С помощью функции asctime_r преобразуем локальное время в строку
// и выводим результат на консоль
printf (“Время: %s\n”,asctime_r (&m_time,buf) );
return 0;
}
| |
Результат:
Время: Sat May 17 01:17:08 2014
|
Смотри так же:
asctime,
asctime_r,
clock_getres,
clock_gettime,
clock_gettime,
ctime,
ctime_r,
difftime,
gmtime,
gmtime_r,
localtime,
localtime_r,
mktime,
strftime,
time
|