从boost :: chrono :: steady_clock :: now()获取双倍

时间:2013-05-22 19:40:00

标签: c++ boost

如何从boost :: chrono :: steady_clock :: now()获取double值? 我不相信这有一个.count()参数。

为什么我需要这个?我有一个无法解析提升回报的方法。

2 个答案:

答案 0 :(得分:9)

当我们把它们放在一起时,归结为:

auto now = boost::chrono::steady_clock::now().time_since_epoch();
auto timeSinceEpoch = boost::chrono::duration_cast<boost::chrono::milliseconds>(now).count();

当然,这不是double但足够接近:您可以更改duration_cast以获得所需的精度和/或根据自己的喜好划分timeSinceEpoch,以便{{1}符合您的要求。例如:

double

答案 1 :(得分:8)

您可以在double内指定duration

auto some_time = std::chrono::high_resolution_clock::now();
double duration = std::chrono::duration_cast<std::chrono::duration<double>>(some_time).count();