home | help
std::timespec_get(3)	       C++ Standard Libary	    std::timespec_get(3)

NAME
     std::timespec_get - std::timespec_get

Synopsis
	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 cur-
     rent 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 imple-
     mentation 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.

Parameters
	ts   - pointer to an object of type std::timespec
	base  -  TIME_UTC  or  another nonzero integer value indicating the time
     base

Return value
	The value of base if successful, zero otherwise.

Notes
	The POSIX function clock_gettime(CLOCK_REALTIME, ts) may also be used to
     populate a
	std::timespec with the time since the Epoch.

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

See also
	timespec time in seconds and nanoseconds
	(C++17)  (struct)
	time	 returns the current time of the system as time since epoch
		 (function)
	C documentation for
	timespec_get

http://cppreference.com 	   2024.06.10		    std::timespec_get(3)

home | help