std::gmtime
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <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
| |