Spec-Zone.ru › C++

std::tm

Определено в заголовке <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
Флаг летнего времени. Значение положительно, если DST активен, ноль, если нет, и отрицательно, если информация недоступна.
(публичный член)
Примечания

Стандарт требует только наличия указанных выше членов в определенном порядке. Реализации обычно добавляют к этой структуре больше данных.

  1. Диапазон позволяет положительную високосную секунду. Две високосных секунды в одной минуте не допускаются (диапазон [​0​, 61] был дефектом, введенным в C89 и исправленным в C99).

Пример

#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'
 
    std::cout << "sizeof(std::tm) = " << sizeof(std::tm) << '\n'
              << "sum of sizes of standard members = "
              << sizeof(tm.tm_sec) +
                 sizeof(tm.tm_min) +
                 sizeof(tm.tm_hour) +
                 sizeof(tm.tm_mday) +
                 sizeof(tm.tm_mon) +
                 sizeof(tm.tm_year) +
                 sizeof(tm.tm_wday) +
                 sizeof(tm.tm_yday) +
                 sizeof(tm.tm_isdst) << '\n';
}

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

Sat Jan  1 00:00:00 2022
sizeof(std::tm) = 56
sum of sizes of standard members = 36

См. также

localtime
преобразует время с момента эпохи в календарное время, выраженное как местное время
(функция)
gmtime
преобразует время с момента эпохи в календарное время, выраженное как Всемирное координированное время
(функция)
Документация на C для tm

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/chrono/c/tm

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API