【问题标题】:C++11 chrono create time_point from numberC++11 chrono 从数字创建 time_point
【发布时间】:2014-07-23 14:49:03
【问题描述】:

我正在使用

转换 std::chrono::time_point<std::chrono::high_resolution_clock> 时间戳
std::chrono::duration_cast<std::chrono::milliseconds>(
  getTimestamp().time_since_epoch()
).count()

到毫秒精度的 64 位时间戳。这对于数据之间的一些序列化是必需的。稍后我需要将这些时间戳转换回std::chrono::time_point&lt;std::chrono::high_resolution_clock&gt; 以进行进一步处理。在 C++11 中执行此操作的正确方法是什么?

【问题讨论】:

  • std::chrono::high_resolution_clock::time_pointstd::chrono::time_point&lt;std::chrono::high_resolution_clock&gt; 节省了一些击键次数。

标签: c++11 chrono


【解决方案1】:

将毫秒数转换为持续时间并将其添加到一个纪元time_point

auto epoch = std::chrono::time_point<std::chrono::high_resolution_clock>();
auto since_epoch = std::chrono::milliseconds(deserialised);
auto timestamp = epoch + since_epoch;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-28
    • 2021-08-19
    • 1970-01-01
    • 2020-10-13
    相关资源
    最近更新 更多