gmtime – вычисление UTC времени.
Синтаксис:
#include < time.h >
struct tm *gmtime (const time_t * s_time);
Аргументы:
s_time – указатель на переменную, содержащую системное время в секундах с 0 часов 1 января 1970 года.
Возвращаемое значение:
Указатель на структуру, содержащую преобразованное системное время в дату и UTC время (Всемирное координированное время - Coordinated Universal Time).
Описание:
Функция gmtime () преобразует системное время в секундах в дату и всемирное координированное время. Результат помещается в структуру типа tm и функция возвращает указатель на эту структуру.
Структура 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 - признак "летнее время" (больше нуля если «летнее время», ноль если «зимнее время», меньше нуля если нет информации.
Внимание! Не рекомендуется использовать функцию gmtime () в многопоточных приложениях, так как данные функции использует общую структуру для сохранения преобразованного времени и одновременный вызов функции из разных потоков может привести к неверному результату работы. Для работы в многопоточных приложениях используйте функцию localtime_r().
Пример:
В примере определяется текущее системное время в секундах, преобразуется в локальное время (с учетом часового пояса) с помощью функции localtime, затем локальное время преобразуется в текстовую строку с помощью функции asctime и результат выводится в консоль.
#include < stdio.h > //Для printf
#include < time.h > //Для time, gmtime, asctime
int main (void)
{
// Переменная для сохранения текущего системного времени
long int s_time;
// Указатель, в который будет помещен адрес структуры с
// преобразованным временем
struct tm *m_time;
// Считываем текущее системное время
s_time = time (NULL);
// Преобразуем системное время в локальное
m_time = gmtime (&s_time);
// С помощью функции asctime преобразуем локальное время в строку
// и выводим результат на консоль
printf (“Время: %s\n”,asctime (m_time) );
return 0;
}
| |
Результат:
Время: Sat May 18 14:12:09 2014
|
Смотри так же:
asctime,
asctime_r,
clock_getres,
clock_gettime,
clock_gettime,
ctime,
ctime_r,
difftime,
gmtime,
gmtime_r,
localtime,
localtime_r,
mktime,
strftime,
time
|