timespec_getres
From cppreference.com
C
Concurrency support (C11)
Date and time utilities
Functions
Time manipulation
(C11)
timespec_getres
(C23)
Format conversions
(deprecated in C23)(C11)
(deprecated in C23)(C11)
(C95)
(C23)(C11)
(C23)(C11)
Constants
Types
(C11)
Defined in header
<time.h>
int timespec_getres( struct timespec *ts, int base );
(since C23)
If ts
is non-null and base
is supported by timespec_get, modifies *ts to hold the resolution of time provided by timespec_get for base
. For each supported base
, multiple calls to timespec_getres
during the same program execution have identical results.
Contents
[edit] Parameters
ts
-
pointer to an object of type struct timespec
base
-
TIME_UTC or another nonzero integer value indicating the time base
[edit] Return value
The value of base
if base
is supported, zero otherwise.
[edit] Notes
The POSIX function clock_getres(clock_id, ts)
may also be used to populate a timespec with the resolution of time identified by clock_id
.
[edit] Example
Run this code
#include <stdio.h> #include <time.h> int main(void) { char buff[128]; struct timespec ts; const int res = timespec_getres(&ts, TIME_UTC); if (res == TIME_UTC) { struct tm timer; strftime (buff, sizeof buff, "%D %T", gmtime_r(&ts.tv_sec, &timer)); printf ("Time resolution info: %s.%09ld UTC\n", buff, ts.tv_nsec); } else { printf ("TIME_UTC base is not supported."); } }
Possible output:
Time resolution info: 01/01/70 00:00:00.000000001 UTC
[edit] See also
(C11)
(function) [edit]