【发布时间】:2016-07-25 17:21:50
【问题描述】:
我的标题可能不是很有帮助,我有一个 std::chrono::nanosecond,但我被要求序列化并提供第二个,然后是纳秒作为 JSON 中的不同值。
所以虽然我的结构成立:
struct time
{
...
std::chrono::nanoseconds timepoint;
};
当被问到几秒钟时,我愿意
uint32_t sec() const
{
return std::chrono::duration_cast<std::chrono::seconds>(timepoint_).count();
}
然而,当被问及纳秒时,我想要以纳秒为单位的分辨率,但没有秒(只有最不重要的值?)但是,以纳秒为单位的转换会返回秒和更高分辨率。
uint64_t nanosec() const
{
return std::chrono::duration_cast<std::chrono::nanoseconds>(timepoint_).count();
}
如何计算实际增加的分辨率(例如,没有实际秒数的纳秒)?
【问题讨论】:
-
尝试先取秒时间点(调用
.count()之前的演员表结果),然后从实际时间点中减去它。结果时间点应该只有“剩余”纳秒。 -
修改 10 亿个就够了吗?
-
@Xarn 我有点困惑,你能举个例子吗?
标签: c++