| Functions | ||||
| Time manipulation | ||||
(C11) | ||||
(C23) | ||||
| Format conversions | ||||
(deprecated in C23)(C11) | ||||
(deprecated in C23)(C11) | ||||
(C95) | ||||
(C23)(C11) | ||||
(C23)(C11) | ||||
| Constants | ||||
| Types | ||||
timespec (C11) |
Defined in header <time.h> | ||
struct timespec; | (since C11) | |
Structure holding an interval broken down into seconds and nanoseconds.
Contents |
| Member | Description |
time_ttv_sec | whole seconds (valid values are >=0) |
/* see below */tv_nsec | nanoseconds (valid values are[0, 999999999]) |
The type of | (until C23) |
The type of | (since C23) |
The declaration order oftv_sec andtv_nsec is unspecified. Implementation may add other members tostruct timespec.
The type oftv_nsec islonglong on some platforms, which is conforming only since C23.
#include <stdint.h>#include <stdio.h>#include <time.h> int main(void){struct timespec ts; timespec_get(&ts, TIME_UTC);char buff[100];strftime(buff,sizeof buff,"%D %T",gmtime(&ts.tv_sec));printf("Current time: %s.%09ld UTC\n", buff, ts.tv_nsec);printf("Raw timespec.tv_sec: %jd\n",(intmax_t)ts.tv_sec);printf("Raw timespec.tv_nsec: %09ld\n", ts.tv_nsec);}
Possible output:
Current time: 04/04/24 14:45:17.885909786 UTCRaw timespec.tv_sec: 1712241917Raw timespec.tv_nsec: 885909786
(C11) | returns the calendar time in seconds and nanoseconds based on a given time base (function)[edit] |
| calendar time type (struct)[edit] | |
C++ documentation fortimespec | |