Namespaces
Variants
Actions

timespec_get

From cppreference.com
< c‎ | chrono
Defined in header <time.h>
int timespec_get( struct timespec *ts, int base );
(1) (since C11)
#define TIME_UTC /* implementation-defined */
(2) (since C11)
1) Modifies the 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 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

[edit] Parameters

ts - pointer to an object of type struct 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 timespec with the time since the Epoch.

[edit] Example

Run this code
#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);
}

Possible output:

Current time: 02/18/15 14:34:03.048508855 UTC

[edit] References

  • C23 standard (ISO/IEC 9899:2024):
  • 7.27.2.5 The timespec_get function (p: TBD)
  • C17 standard (ISO/IEC 9899:2018):
  • 7.27.2.5 The timespec_get function (p: 286)
  • C11 standard (ISO/IEC 9899:2011):
  • 7.27.2.5 The timespec_get function (p: 390)

[edit] See also

(C11)
time in seconds and nanoseconds
(struct)[edit]
returns the resolution of calendar time based on a given time base
(function) [edit]
returns the current calendar time of the system as time since epoch
(function) [edit]
C++ documentation for timespec_get
Retrieved from "https://en.cppreference.com/mwiki/index.php?title=c/chrono/timespec_get&oldid=180263"

AltStyle によって変換されたページ (->オリジナル) /