std::chrono::time_point
| Defined in header <chrono>
|
||
| template< class Clock, |
(since C++11) | |
Class template std::chrono::time_point represents a point in time. It is implemented as if it stores a value of type Duration indicating the time interval from the start of the Clock's epoch.
Clock must meet the requirements for Clock or be std::chrono::local_t (since C++20).
Contents |
[edit] Member types
| Member type | Definition |
clock
|
Clock, the clock on which this time point is measured
|
duration
|
Duration, a std::chrono::duration type used to measure the time since epoch
|
rep
|
Rep, an arithmetic type representing the number of ticks of the duration
|
period
|
Period, a std::ratio type representing the tick period of the duration
|
[edit] Member functions
| constructs a new time point (public member function) | |
| returns the time point as duration since the start of its clock (public member function) | |
| modifies the time point by the given duration (public member function) | |
| increments or decrements the duration (public member function) | |
| [static] |
returns the time point corresponding to the smallest duration (public static member function) |
| [static] |
returns the time point corresponding to the largest duration (public static member function) |
[edit] Non-member functions
| performs add and subtract operations involving a time point (function template) | |
| (removed in C++20)(removed in C++20)(removed in C++20)(removed in C++20)(removed in C++20)(C++20) |
compares two time points (function template) |
| converts a time point to another time point on the same clock, with a different duration (function template) | |
| converts a time_point to another, rounding down (function template) | |
| converts a time_point to another, rounding up (function template) | |
| converts a time_point to another, rounding to nearest, ties to even (function template) |
[edit] Helper classes
| specializes the std::common_type trait (class template specialization) |
[edit] Example
#include <iostream> #include <iomanip> #include <ctime> #include <chrono> int main() { std::chrono::system_clock::time_point now = std::chrono::system_clock::now(); std::time_t t_c = std::chrono::system_clock::to_time_t(now - std::chrono::hours(24)); std::cout << "24 hours ago, the time was " << std::put_time(std::localtime(&t_c), "%F %T") << '\n'; std::chrono::steady_clock::time_point start = std::chrono::steady_clock::now(); std::cout << "Hello World\n"; std::chrono::steady_clock::time_point end = std::chrono::steady_clock::now(); std::cout << "Printing took " << std::chrono::duration_cast<std::chrono::microseconds>(end - start).count() << "us.\n"; }
Possible output:
24 hours ago, the time was 2011-10-25 12:00:08 Hello World Printing took 84us.
[edit] See also
| (C++11) |
a time interval (class template) |

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
