我如何获得(使用std::chrono
库)两个时间点之间的毫秒差?
我可以用这个来做:
std::chrono::time_point<std::chrono::system_clock> now = std::chrono::system_clock::now();
std::chrono::time_point<std::chrono::system_clock> foo = now + std::chrono::milliseconds(100);
std::chrono::duration<float> difference = foo - now;
const int milliseconds = difference.count() * 1000;
字符串
我怎样才能得到以毫秒为单位的时间,这样我就可以把持续时间用unsigned int
,而不是float
,然后乘以1000?
4条答案
按热度按时间dgjrabp21#
std::chrono::duration
有两个模板参数,第二个是度量单位。您可以调用std::chrono::duration_cast
将一个持续时间类型转换为另一个。此外,还有一个预定义的毫秒持续时间类型:std::chrono::milliseconds
。将其组合在一起:字符串
要获取实际的毫秒数,请使用
duration::count
:型
它的返回类型是
duration::rep
,对于像std::chrono::milliseconds
这样的标准持续时间类型,它是一个未指定大小的有符号整数。ggazkfy82#
字符串
q5iwbnjs3#
我在打印像e-09这样的字母时遇到了持续时间问题。下面是我如何解决的:
字符串
现在我得到了想要的结果:
型
b4qexyjb4#
http://www.cplusplus.com/reference/chrono/duration_cast/
字符串