std::gmtime
Материал из cppreference.com
Определено в заголовочном файле <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
[править] Смотрите также
преобразует время с начала эпохи в календарное время, выраженное как местное время (функция) | |
Документация C по gmtime
|