将持续时间添加到 C 时间点

新手上路,请多包涵

我有一个以毫秒为单位的起始时间点,如下所示:

 using namespace std::chrono;
typedef time_point<system_clock, milliseconds> MyTimePoint;

MyTimePoint startTimePoint = time_point_cast<MyTimePoint::duration>(system_clock::time_point(steady_clock::now()));

现在,我将有一定数量的小时数要添加或减去 startTimePoint。

 int numHours = -5//or 5 etc (Can be a plus or minus number)

如何将这段时间添加到原始 startTimePoint?

原文由 Harry Boy 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 323
1 个回答

如果你想给 startTimePoint 增加五个小时,这很简单:

 startTimePoint += hours(5); // from the alias std::chrono::hours

活生生的例子

顺便说一句,您正在尝试将 steady_clock::now() 转换为 system_clock::time_point ,它 甚至不应该 compile 。将 --- 更改为 steady_clock::now() system_clock::now() 可以了。

原文由 huu 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题