X Tutup
The Wayback Machine - https://web.archive.org/web/20200417001400/https://en.cppreference.com/w/cpp/chrono/time_point
Namespaces
Variants
Views
Actions

std::chrono::time_point

From cppreference.com
< cpp‎ | chrono
 
 
 
Date and time utilities
(C++11)
time_point
(C++11)
Clocks
(C++20)
                                             
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
Calendars
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
Time zones
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
C-style date and time
 
 
Defined in header <chrono>
template<

    class Clock,
    class Duration = typename Clock::duration

> class time_point;
(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) [edit]
returns the time point as duration since the start of its clock
(public member function) [edit]
modifies the time point by the given duration
(public member function) [edit]
increments or decrements the duration
(public member function) [edit]
[static]
returns the time point corresponding to the smallest duration
(public static member function) [edit]
[static]
returns the time point corresponding to the largest duration
(public static member function) [edit]

[edit] Non-member functions

performs add and subtract operations involving a time point
(function template) [edit]
(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) [edit]
converts a time point to another time point on the same clock, with a different duration
(function template) [edit]
converts a time_point to another, rounding down
(function template) [edit]
converts a time_point to another, rounding up
(function template) [edit]
converts a time_point to another, rounding to nearest, ties to even
(function template) [edit]

[edit] Helper classes

specializes the std::common_type trait
(class template specialization) [edit]

[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) [edit]
X Tutup