Namespaces
Variants

std:: timespec_get

From cppreference.net
< cpp ‎ | chrono ‎ | c
Определено в заголовочном файле <ctime>
int timespec_get ( std:: timespec * ts, int base ) ;
(1) (начиная с C++17)
#define TIME_UTC /* определяется реализацией */
(2) (начиная с C++17)
1) Модифицирует объект std::timespec , на который указывает ts , чтобы содержать текущее календарное время в базе времени base .
2) Принимает значение, подходящее для использования в качестве base аргумента функции std::timespec_get .

Другие макроконстанты, начинающиеся с TIME_ , могут предоставляться реализацией для указания дополнительных временных баз.

Если base равен TIME_UTC , тогда

  • ts - > tv_sec устанавливается в количество секунд с момента определенной реализацией эпохи, усеченное до целого значения,
  • ts - > tv_nsec устанавливается в целое количество наносекунд, округленное до разрешения системных часов.

Содержание

Параметры

ts - указатель на объект типа std::timespec
base - TIME_UTC или другое ненулевое целочисленное значение, указывающее временную базу

Возвращаемое значение

Значение base в случае успеха, ноль в противном случае.

Примечания

Функция POSIX clock_gettime(CLOCK_REALTIME, ts) также может использоваться для заполнения структуры std::timespec временем с начала Эпохи.

Пример

#include <ctime>
#include <iostream>
int main()
{
    std::timespec ts;
    std::timespec_get(&ts, TIME_UTC);
    char buf[100];
    std::strftime(buf, sizeof buf, "%D %T", std::gmtime(&ts.tv_sec));
    std::cout << "Current time: " << buf << '.' << ts.tv_nsec << " UTC\n";
}

Возможный вывод:

Current time: 06/24/16 20:07:42.949494132 UTC

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

(C++17)
время в секундах и наносекундах
(структура)
возвращает текущее время системы как время с начала эпохи
(функция)
Документация C для timespec_get