Namespaces
Variants

std:: tm

From cppreference.net
< cpp ‎ | chrono ‎ | c
Определено в заголовочном файле <ctime>
struct tm ;

Структура, содержащая календарную дату и время, разбитые на составляющие компоненты.

Содержание

Объекты-члены

int tm_sec
секунды после минуты – [ 0 , 61 ] (до C++11) [ 0 , 60 ] (начиная с C++11) [примечание 1]
(публичный член-объект)
int tm_min
минуты после часа – [ 0 , 59 ]
(публичный член-объект)
int tm_hour
часы с полуночи – [ 0 , 23 ]
(публичный член-объект)
int tm_mday
день месяца – [ 1 , 31 ]
(публичный член-объект)
int tm_mon
месяцы с января – [ 0 , 11 ]
(публичный член-объект)
int tm_year
годы с 1900
(публичный член-объект)
int tm_wday
дни с воскресенья – [ 0 , 6 ]
(публичный член-объект)
int tm_yday
дни с 1 января – [ 0 , 365 ]
(публичный член-объект)
int tm_isdst
Флаг летнего времени. Значение положительно, если действует летнее время, равно нулю, если не действует, и отрицательно, если информация недоступна.
(публичный член-объект)
  1. Диапазон допускает положительную високосную секунду. Две високосные секунды в одной минуте не разрешены (диапазон [ 0 , 61 ] был дефектом, введенным в C89 и исправленным в C99).

Примечания

Библиотеки BSD, GNU и musl C поддерживают два дополнительных члена, которые стандартизированы в POSIX.1-2024 .

long tm_gmtoff
секунд к востоку от UTC
(общедоступный член-объект)
const char* tm_zone
аббревиатура часового пояса
(общедоступный член-объект)

Пример

#include <ctime>
#include <iostream>
int main()
{
    std::tm tm{};
    tm.tm_year = 2022 - 1900;
    tm.tm_mday = 1;
    std::mktime(&tm);
    std::cout << std::asctime(&tm); // note implicit trailing '\n'
}

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

Sat Jan  1 00:00:00 2022

Смотрите также

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