localtime_r – преобразование системного времени в местное.
Синтаксис:
#include < time.h >
struct tm *localtime_r (const time_t * s_time, struct tm *m_time);
Аргументы:
s_time – указатель на переменную, содержащую время в секундах с 0 часов 1 января 1970 года.
m_time – указатель на структуру, в которую будет помещен результат преобразования.
Возвращаемое значение:
Указатель на структуру, содержащую преобразованное системное время в дату и местное время (на структуру указанную в аргументе m_time).
Описание:
Функция localtime_r () преобразует время в секундах, истекшее с 0 часов 1 января 1970 года (показание системных часов CLOCK_REALTIME) в местное (с учетом часового пояса) время и дату. Результат помещается в структуру типа tm, на которую указывает аргумент m_time. Так же функция возвращает указатель на эту структуру.
Структура tm содержит элементы:
int tm_sec – секунды (отсчет с 0);
int tm_min – минуты (отсчет с 0);
int tm_hour - часы (отсчет с 0);
int tm_mday - день месяца (отсчет с 1);
int tm_mon - месяц (отсчет с 0);
int tm_year – год (за начала отсчета принят 1900 год);
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
|