Spec-Zone.ru › C

tm

Определён в заголовочном файле <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. Диапазон допускает положительную високосную секунду. Две високосные секунды в одной минуте не допускаются (диапазон 0..61 в C89 был ошибочным)

Пример

#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 Составляющие времени (стр.: уточняется)
  • Стандарт 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 Составляющие времени

См. также

localtimelocaltime_rlocaltime_s
(C23)(C11)
преобразует время, прошедшее с начала эпохи, в календарное время, выраженное как местное время
(функция)
gmtimegmtime_rgmtime_s
(C23)(C11)
преобразует время, прошедшее с начала эпохи, в календарное время, выраженное как всемирное координированное время (UTC)
(функция)
Документация C++ для tm

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

Spec-Zone.ru

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