Defined in header <chrono> | ||||
---|---|---|---|---|
| (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.
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 |
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) | |
[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) |
Non-member functions
specializes the std::common_type trait (class template specialization) | |
modifies the time point by the given duration (function template) | |
compares two time points (function template) | |
converts a time point to another time point on the same clock, with a different duration (function template) | |
(C++17) | converts a time_point to another, rounding down (function template) |
(C++17) | converts a time_point to another, rounding up (function template) |
(C++17) | converts a time_point to another, rounding to nearest, ties to even (function template) |
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #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 now_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 (&now_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:
1 2 3 | 24 hours ago, the time was 2011-10-25 12:00:08 Hello World Printing took 84us. |
See also
(C++11) | a time interval (class template) |
Please login to continue.