std::timespec_get
From cppreference.com
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Date and time library
(C++11)
(C++20)
(C++20)
(C++11)
(C++11)
(C++11)
(C++20)
(C++20)
(C++20)
(C++11)
(C++20)
(C++20)
(C++20)
(C++20)(C++20)
(C++20)(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)(C++20)
(C++20)
(C++20)
(C++20)
(C++20)(C++20)(C++20)(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
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) Modifies the std::timespec object pointed to by ts to hold the current calendar time in the time base base.
2) Expands to a value suitable for use as the base argument of
std::timespec_get
.Other macro constants beginning with TIME_
may be provided by the implementation to indicate additional time bases.
If base is TIME_UTC
, then
- ts->tv_sec is set to the number of seconds since an implementation defined epoch, truncated to a whole value,
- ts->tv_nsec member is set to the integral number of nanoseconds, rounded to the resolution of the system clock.
Contents
[edit] Parameters
ts
-
pointer to an object of type std::timespec
base
-
TIME_UTC
or another nonzero integer value indicating the time base
[edit] Return value
The value of base if successful, zero otherwise.
[edit] Notes
The POSIX function clock_gettime(CLOCK_REALTIME, ts)
may also be used to populate a std::timespec
with the time since the Epoch.
[edit] Example
Run this code
#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"; }
Possible output:
Current time: 06/24/16 20:07:42.949494132 UTC
[edit] See also
C documentation for timespec_get