Пространства имён
Варианты
Действия

std::gmtime

Материал из cppreference.com
< cpp‎ | chrono‎ | c
 
 
Библиотека утилит
Языковая поддержка
Поддержка типов (базовые типы, RTTI)
Макросы тестирования функциональности библиотеки (C++20)    
Управление динамической памятью
Программные утилиты
Поддержка сопрограмм (C++20)
Вариативные функции
Трёхстороннее сравнение (C++20)
(C++20)
(C++20)(C++20)(C++20)(C++20)(C++20)(C++20)
Общие утилиты
Дата и время
Функциональные объекты
Библиотека форматирования (C++20)
(C++11)
Операторы отношения (устарело в C++20)
Целочисленные функции сравнения
(C++20)(C++20)(C++20)    
(C++20)
Операции обмена и типа
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Общие лексические типы
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
Элементарные преобразования строк
(C++17)
(C++17)
 
 
Утилиты даты и времени в стиле C
Функции
Манипуляции временем
Преобразование форматов
gmtime
Константы
Типы
(C++17)
 
Определено в заголовочном файле <ctime>
std::tm* gmtime( const std::time_t* time );

Преобразует заданное время с начала эпохи в виде значения std::time_t в календарное время, выраженное в формате Всемирного Координированного Времени (UTC - Coordinated Universal Time).

Содержание

[править] Параметры

time указатель на объект time_t для преобразования

[править] Возвращаемое значение

Указатель на статический внутренний объект std::tm в случае успеха или нулевой указатель в противном случае. Структура может совместно использоваться std::gmtime, std::localtime и std::ctime и может перезаписываться при каждом вызове.

[править] Примечание

Эта функция не может быть потокобезопасной.

POSIX требует, чтобы эта функция устанавливала errno в EOVERFLOW в случае сбоя из-за слишком большого аргумента.

[править] Пример

#include <iostream>
#include <sstream>
#include <iomanip>
#include <ctime>
 
int main()
{
    setenv("TZ", "/usr/share/zoneinfo/Europe/London", 1); // специфично для POSIX
 
    std::tm tm{};  // get_time не устанавливает все поля, поэтому применяется {}
    tm.tm_year = 2020-1900; // 2020
    tm.tm_mon = 7-1; // Июль
    tm.tm_mday = 15; // 15-е
    tm.tm_hour = 10;
    tm.tm_min = 15;
    tm.tm_isdst = 1; // Переход на летнее время в Лондоне
    std::time_t t = std::mktime(&tm); 
 
    std::cout << "UTC:       " << std::put_time(std::gmtime(&t), "%c %Z") << '\n';
    std::cout << "локальное: " << std::put_time(std::localtime(&t), "%c %Z") << '\n';
}

Возможный вывод:

UTC:       Wed Jul 15 09:15:00 2020 GMT
локальное: Wed Jul 15 10:15:00 2020 BST

[править] Смотрите также

преобразует время с начала эпохи в календарное время, выраженное как местное время
(функция) [править]