#include <time.h> struct tm *gmtime(const time_t *time);
Функция gmtime() возвращает указатель на структуру tm, содержащую календарное время в разделенной на компоненты форме. Значение time представлено в виде так называемого координированного всемирного времени (Coordinated Universal Time, или UTC[1]), которое, по сути, является средним временем по гринвичскому меридиану[2] (Greenwich mean time, GMT). Функция time() возвращает указатель time. Она возвращает NULL, если система не поддерживает координированное всемирное время.
Память для структуры, в которой функция gmtime() сохраняет разделенное на компоненты время, распределяется статически. Эта структура перезаписывается при каждом вызове функции. Чтобы сохранить содержимое структуры, скопируйте ее в какую-нибудь другую область памяти.
Эта программа печатает местное время и координированное всемирное время (UTC) системы:
#include <time.h> #include <stdio.h> /* Печать местного и координированного всемирного (UTC) времени. */ int main(void) { struct tm *local, *gm; time_t t; t = time(NULL); local = localtime(&t); printf("Местное время и дата: %s\n", asctime(local)); gm = gmtime(&t); printf("Координированное всемирное время и дата: %s", asctime(gm)); return 0; }
[1]Называется также всеобщим скоординированным временем и универсальным глобальным временем (по Гринвичу).
[2]Называется также всемирным (гринвичским средним) временем или средним временем по Гринвичу. UTC не может отличаться от GMT более чем на 0,9 с.