Standard library header <time.h>
From cppreference.com
This header is part of date and time utilities library.
Contents |
[edit] Functions
Time manipulation | |
computes the difference between times (function) | |
returns the current calendar time of the system as time since epoch (function) | |
returns raw processor clock time since the program is started (function) | |
(C11) |
returns the calendar time in seconds and nanoseconds based on a given time base (function) |
(C23) |
returns the resolution of calendar time based on a given time base (function) |
Format conversions | |
(deprecated in C23)(C11) |
converts a tm object to a textual representation (function) |
(deprecated in C23)(C11) |
converts a time_t object to a textual representation (function) |
converts a tm object to custom textual representation (function) | |
(C23)(C11) |
converts time since epoch to calendar time expressed as Coordinated Universal Time (UTC) (function) |
(C23)(C11) |
converts time since epoch to calendar time expressed as local time (function) |
converts calendar time to time since epoch (function) |
[edit] Constants
number of processor clock ticks per second (macro constant) |
[edit] Types
calendar time type (struct) | |
calendar time since epoch type (typedef) | |
processor time since era type (typedef) | |
(C11) |
time in seconds and nanoseconds (struct) |
[edit] Synopsis
#define __STDC_VERSION_TIME_H__ 202311L #define NULL /* see description */ #define CLOCKS_PER_SEC /* see description */ #define TIME_UTC /* see description */ typedef /* see description */ clock_t; typedef /* see description */ size_t; typedef /* see description */ time_t; struct timespec { /* see description */ }; struct tm { /* see description */ }; 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);
Only if supported by the implementation:
#define TIME_MONOTONIC /* see description */ #define TIME_ACTIVE /* see description */
Only if threads are supported and it is supported by the implementation:
#define TIME_THREAD_ACTIVE /* see description */
Only if the implementation defines __STDC_LIB_EXT1__ and additionally the user code defines __STDC_WANT_LIB_EXT1__ before any inclusion of <time.h>:
#ifdef __STDC_WANT_LIB_EXT1__ typedef /* see description */ errno_t; typedef /* see description */ 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