[ctime.syn] # 30 Time library [[time]](./#time) ## 30.15 Header synopsis [ctime.syn] [🔗](#header:%3cctime%3e) #define __STDC_VERSION_TIME_H__ 202311L#define NULL *see [[support.types.nullptr]](support.types.nullptr "17.2.3 Null pointers")*#define CLOCKS_PER_SEC *see below*#define TIME_UTC *see below*#define TIME_MONOTONIC *see below* // optional#define TIME_ACTIVE *see below* // optional#define TIME_THREAD_ACTIVE *see below* // optionalnamespace std {using size_t = *see [[support.types.layout]](support.types.layout "17.2.4 Sizes, alignments, and offsets")*; using clock_t = *see below*; using time_t = *see below*; struct timespec; struct tm; clock_t clock(); double difftime(time_t time1, time_t time0); time_t mktime(tm* timeptr); time_t timegm(tm* timeptr); time_t time(time_t* timer); int timespec_get(timespec* ts, int base); int timespec_getres(timespec* ts, int base); tm* gmtime(const time_t* timer); tm* gmtime_r(const time_t* timer, tm* buf); tm* localtime(const time_t* timer); tm* localtime_r(const time_t* timer, tm* buf); size_t strftime(char* s, size_t maxsize, const char* format, const tm* timeptr);} [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/time.tex#L11641) The contents of the header [](#header:%3cctime%3e "30.15 Header synopsis [ctime.syn]") are the same as the C standard library header [](support.c.headers.general#header:%3ctime.h%3e "17.15.1 General [support.c.headers.general]")[.](#1.sentence-1)[254](#footnote-254 "strftime supports the C conversion specifiers C, D, e, F, g, G, h, r, R, t, T, u, V, and z, and the modifiers E and O.") [2](#2) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/time.tex#L11650) The functions gmtime andlocaltime are not required to avoid data races ([[res.on.data.races]](res.on.data.races "16.4.6.10 Data race avoidance"))[.](#2.sentence-1) See also: ISO/IEC 9899:2024, 7.29 [254)](#footnote-254)[254)](#footnoteref-254) strftime supports the C conversion specifiersC, D, e, F, g, G, h,r, R, t, T, u, V, andz, and the modifiers E and O[.](#footnote-254.sentence-1)