Spec-Zone.ru › C++

std::timespec_get

Defined in header <ctime>
int timespec_get( std::timespec* ts, int base );
(1) (since C++17)
#define TIME_UTC /* implementation-defined */
(2) (since 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

См. также

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

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/chrono/c/timespec_get

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API