Namespaces
Variants

Standard library header <time.h>

From cppreference.net

Этот заголовок является частью библиотеки утилит даты и времени .

Содержание

Функции

Манипуляции со временем
вычисляет разницу между временами
(функция)
возвращает текущее календарное время системы как время с начала эпохи
(функция)
возвращает сырое время процессорных тактов с момента запуска программы
(функция)
возвращает календарное время в секундах и наносекундах на основе заданной временной базы
(функция)
возвращает разрешение календарного времени на основе заданной временной базы
(функция)
Преобразования форматов
(устарело в C23) (C11)
преобразует объект tm в текстовое представление
(функция)
(устарело в C23) (C11)
преобразует объект time_t в текстовое представление
(функция)
преобразует объект tm в пользовательское текстовое представление
(функция)
преобразует время с начала эпохи в календарное время, выраженное в формате UTC (Всемирное координированное время)
(функция)
преобразует время с начала эпохи в календарное время, выраженное в местном времени
(функция)
преобразует календарное время во время с начала эпохи
(функция)

Константы

количество тактов процессора в секунду
(макрос)

Типы

тип календарного времени
(struct)
тип календарного времени с начала эпохи
(typedef)
тип процессорного времени с начала эры
(typedef)
время в секундах и наносекундах
(struct)

Синопсис

#define __STDC_VERSION_TIME_H__ 202311L
#define NULL           /* см. описание */
#define CLOCKS_PER_SEC /* см. описание */
#define TIME_UTC       /* см. описание */
typedef /* см. описание */ clock_t;
typedef /* см. описание */ size_t;
typedef /* см. описание */ time_t;
struct timespec { /* см. описание */ };
struct tm { /* см. описание */ };
clock_t clock(void);
double difftime(time_t time1, time_t time0);
time_t mktime(struct tm* timeptr);
time_t timegm(struct tm* timeptr);
time_t time(time_t* timer);
int timespec_get(struct timespec* ts, int base);
int timespec_getres(struct timespec* ts, int base);
[[deprecated]] char* asctime(const struct tm* timeptr);
[[deprecated]] char* ctime(const time_t* timer);
struct tm* gmtime(const time_t* timer);
struct tm* gmtime_r(const time_t* timer, struct tm* buf);
struct tm* localtime(const time_t* timer);
struct tm* localtime_r(const time_t* timer, struct tm* buf);
size_t strftime(char* restrict s, size_t maxsize, const char* restrict format,
const struct tm* restrict timeptr);

Только если поддерживается реализацией:

#define TIME_MONOTONIC /* see description */
#define TIME_ACTIVE    /* see description */

Только если потоки поддерживаются и это поддерживается реализацией:

#define TIME_THREAD_ACTIVE /* см. описание */

Только если реализация определяет __STDC_LIB_EXT1__ и дополнительно пользовательский код определяет __STDC_WANT_LIB_EXT1__ до любого включения <time.h> :

#ifdef __STDC_WANT_LIB_EXT1__
typedef /* см. описание */ errno_t;
typedef /* см. описание */ rsize_t;
errno_t asctime_s(char* s, rsize_t maxsize, const struct tm* timeptr);
errno_t ctime_s(char* s, rsize_t maxsize, const time_t* timer);
struct tm* gmtime_s(const time_t* restrict timer, struct tm* restrict result);
struct tm* localtime_s(const time_t* restrict timer, struct tm* restrict result);
#endif