Содержание | Глава 16

Функция gmtime

#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;
}

Зависимые функции

localtime() time() asctime()

----------

[1]Называется также всеобщим скоординированным временем и универсальным глобальным временем (по Гринвичу).

[2]Называется также всемирным (гринвичским средним) временем или средним временем по Гринвичу. UTC не может отличаться от GMT более чем на 0,9 с.


Содержание | Глава 16