Namespaces
Variants

timespec_get

From cppreference.net
Определено в заголовочном файле <time.h>
int timespec_get ( struct timespec * ts, int base ) ;
(1) (начиная с C11)
#define TIME_UTC /* определяется реализацией */
(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

Ссылки

  • Стандарт C23 (ISO/IEC 9899:2024):
  • 7.27.2.5 Функция timespec_get (стр.: TBD)
  • Стандарт C17 (ISO/IEC 9899:2018):
  • 7.27.2.5 Функция timespec_get (стр: 286)
  • Стандарт C11 (ISO/IEC 9899:2011):
  • 7.27.2.5 Функция timespec_get (стр: 390)

Смотрите также

время в секундах и наносекундах
(struct)
возвращает разрешение календарного времени на основе заданной временной базы
(function)
возвращает текущее календарное время системы как время с начала эпохи
(function)
C++ documentation для timespec_get