使用Howard Hinnant的日期库将日时信息添加到year_month_day

时间:2018-07-30 13:30:13

标签: c++ datetime

我正在研究C ++中的特定实现。假设我有一个来自Howard Hinnant's date librarydate::year_month_day variable,叫做X,我想将其转换为一个std::chrono::time_point,它代表与X相同的时间,但添加了一个 A小时,B分钟和C秒的偏移量。

我该如何实现?

1 个答案:

答案 0 :(得分:1)

using namespace std::chrono;
auto tp = date::sys_days{X} + hours{A} + minutes{B} + seconds{C};

tp的类型为std::chrono::time_point<system_clock, seconds>,代表UTC的时间点。

在此示例中,Howard Hinnant's date library唯一添加的是从date::year_month_daysys_days的转换,它本身只是typedef的{​​{1}}。转换之后,您将完全在C ++ 11/14 time_point<system_clock, days>库中进行工作。