timespec
Определён в заголовке <time.h> | ||
|---|---|---|
struct timespec; | (начиная с C11) |
Структура, содержащая интервал, представленный в виде секунд и наносекунд.
Поля-члены
| Поле | Описание |
|---|---|
time_t tv_sec | целое число секунд (допустимые значения >= 0) |
/* см. ниже */ tv_nsec | наносекунды (допустимые значения [0, 999999999]) |
| Тип | (до C23) |
| Тип | (начиная с C23) |
Порядок объявления tv_sec и tv_nsec не определён. Реализация может добавлять другие поля в structtimespec.
Примечания
В некоторых платформах тип tv_nsec — longlong; это соответствует стандарту только начиная с 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);
}
Возможный вывод:
Current time: 04/04/24 14:45:17.885909786 UTC Raw timespec.tv_sec: 1712241917 Raw timespec.tv_nsec: 885909786
Ссылки на стандарты
- Стандарт C23 (ISO/IEC 9899:2024):
- 7.27.1/3 Компоненты времени (стр.: уточняется)
- Стандарт C17 (ISO/IEC 9899:2018):
- 7.27.1/3 Компоненты времени (стр.: 284)
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.27.1/3 Компоненты времени (стр.: 388)
См. также
|
(C11) | возвращает календарное время в секундах и наносекундах относительно заданной временной базы (функция) |
| тип календарного времени (структура) |
|
Документация по C++ для timespec |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/chrono/timespec