Namespaces
Variants

tm

From cppreference.net
Определено в заголовочном файле <time.h>
struct tm ;

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

Содержание

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

int tm_sec
секунды после минуты – [ 0 , 61 ] (до C99) [ 0 , 60 ] (начиная с C99) [примечание 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. Диапазон допускает положительную високосную секунду. Две високосные секунды в одной минуте не разрешены (диапазон C89 0..61 был дефектом)

Пример

#include <stdio.h>
#include <time.h>
int main(void)
{
    struct tm start = {.tm_year = 2022 - 1900, .tm_mday = 1};
    mktime(&start);
    printf("%s", asctime(&start)); // note implicit trailing '\n'
}

Вывод:

Sat Jan  1 00:00:00 2022

Ссылки

  • Стандарт C23 (ISO/IEC 9899:2024):
  • 7.27.1/3 Компоненты времени (стр: TBD)
  • Стандарт C17 (ISO/IEC 9899:2018):
  • 7.27.1/3 Компоненты времени (стр: 284)
  • Стандарт C11 (ISO/IEC 9899:2011):
  • 7.27.1/3 Компоненты времени (стр: 388)
  • Стандарт C99 (ISO/IEC 9899:1999):
  • 7.23.1/3 Компоненты времени (стр: 338)
  • Стандарт C89/C90 (ISO/IEC 9899:1990):
  • 4.12.1 Компоненты времени

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

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