Standard library header <time.h>
From cppreference.com
This header is part of date and time utilities library.
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) | |
Constants
| number of processor clock ticks per second (macro constant) |
Types
| calendar time type (struct) | |
| calendar time since epoch type (typedef) | |
| processor time since era type (typedef) | |
(C11) |
time in seconds and nanoseconds (struct) |
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