Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

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
       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  implementa-
       tion 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 <iostream>
	#include <ctime>

	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)

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

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::timespec_get&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help