timespec_get
Определено в заголовке <time.h> | ||
|---|---|---|
int timespec_get( struct timespec *ts, int base ); | (1) | (с C11) |
#define TIME_UTC /* implementation-defined */ | (2) | (с C11) |
1) Изменяет объект
timespec, на который указывает ts, так, чтобы он содержал текущее календарное время в временной базе base.
2) Расширяется до значения, подходящего для использования в качестве аргумента
base функции timespec_get
Другие макроконстанты, начинающиеся с TIME_, могут быть предоставлены реализацией для указания дополнительных временных баз.
Если base равно TIME_UTC, то
-
ts->tv_secустанавливается в количество секунд, прошедших с момента начала отсчета, определенного реализацией, усеченное до целого значения. - Член
ts->tv_nsecустанавливается в целое число наносекунд, округленное до разрешения системных часов.
Параметры
| ts | - | указатель на объект типа struct timespec |
| base | - | TIME_UTC или другое ненулевое целое значение, указывающее временную базу |
Возвращаемое значение
Значение base, если операция выполнена успешно, и ноль в противном случае.
Примечания
Функция POSIX clock_gettime(CLOCK_REALTIME, ts) также может быть использована для заполнения объекта timespec временем, прошедшим с эпохи.
Пример
#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);
}Возможный вывод:
Current time: 02/18/15 14:34:03.048508855 UTC
Ссылки
- Стандарт C17 (ISO/IEC 9899:2018):
- 7.27.2.5 Функция timespec_get (стр. 286)
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.27.2.5 Функция timespec_get (стр. 390)
См. также
|
(C11) | время в секундах и наносекундах (структура) |
|
(C23) | возвращает разрешение календарного времени, основанное на заданной временной базе (функция) |
| возвращает текущее календарное время системы как время с момента эпохи (функция) |
|
Документация C++ для timespec_get |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/chrono/timespec_get