将计时持续时间转换为 time_point

Convert chrono duration to time_point

如何将计时持续时间转换为 time_point,它晚于具有给定持续时间的时钟纪元?我试图在计时时钟中找到纪元时间但没有成功。

摘自 20.12.6 [time.point]:

template <class Clock, class Duration = typename Clock::duration>
class time_point
{
public:
    constexpr explicit time_point(const duration& d);  // same as time_point() + d

这可以(例如)像这样使用:

using namespace std::chrono;
system_clock::time_point tp{30min}; // Needs C++14 for the literal

虽然标准中未指定 system_clock::time_point,但实际上这会创建一个 time_point 引用 1970-01-01 00:30:00 UTC。