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 | Флаг перехода на летнее время. Значение положительно, если действует летнее время, равно нулю, если оно не действует, и отрицательно, если информация недоступна (открытое поле-член) |
Примечания
Стандарт требует наличия только перечисленных выше полей, порядок которых может быть любым. Реализации обычно добавляют в эту структуру дополнительные поля данных.
- Диапазон допускает положительную високосную секунду. Две високосные секунды в одной минуте не допускаются (диапазон 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 Составляющие времени
См. также
|
(C23)(C11) | преобразует время, прошедшее с начала эпохи, в календарное время, выраженное как местное время (функция) |
|
(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