FreeBSD Manual Pages
std::timespec(3) C++ Standard Libary std::timespec(3) NAME std::timespec - std::timespec Synopsis Defined in header <ctime> struct timespec; (since C++17) Structure holding an interval broken down into seconds and nanosec- onds. Member objects std::time_t tv_sec whole seconds >= 0 long tv_nsec nanoseconds [0, 999999999] The declaration order of tv_sec and tv_nsec is unspecified. Imple- mentation may add other data members to timespec. Notes The type of tv_nsec is long long on some platforms, which is cur- rently non-conforming in C++, but is allowed in C since C23. Example // Run this code #include <ctime> #include <iostream> int main() { std::timespec ts; std::timespec_get(&ts, TIME_UTC); char buff[0x80]; std::strftime(buff, sizeof buff, "%D %T", std::gm- time(&ts.tv_sec)); // auto [sec, nsec] = ts; // UB: structured bindings should not be used because the // declaration order and data member list are unspecified std::cout << "Current time: " << buff << " (UTC)\n" << "Raw timespec.tv_sec: " << ts.tv_sec << '\n' << "Raw timespec.tv_nsec: " << ts.tv_nsec << '\n'; } Possible output: Current time: 04/06/23 12:03:31 (UTC) Raw timespec.tv_sec: 1680782611 Raw timespec.tv_nsec: 678437213 See also timespec_get returns the calendar time in seconds and nanoseconds based on a given (C++17) time base (function) tm calendar time type (class) C documentation for timespec http://cppreference.com 2024.06.10 std::timespec(3)
NAME | Synopsis | Member objects | Notes | Example | Possible output: | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::timespec&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>
