close
Пространства имён
Варианты
Действия

tm

Материал из cppreference.com
< c | chrono
<tbody> </tbody>
Определено в заголовочном файле <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));
}

Вывод:

Sat Jan  1 00:00:00 2022

Ссылки

  • Стандарт 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 Компоненты времени

См. также

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