我正在研究C ++中的特定实现。假设我有一个来自Howard Hinnant's date library的date::year_month_day variable
,叫做X
,我想将其转换为一个std::chrono::time_point
,它代表与X
相同的时间,但添加了一个 A小时,B分钟和C秒的偏移量。
我该如何实现?
答案 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_day
到sys_days
的转换,它本身只是typedef
的{{1}}。转换之后,您将完全在C ++ 11/14 time_point<system_clock, days>
库中进行工作。