gpt4 book ai didi

c++ - Chrono - 两个时间点之间的差异(以毫秒为单位)?

转载 作者:IT老高 更新时间:2023-10-28 22:25:04 44 4
gpt4 key购买 nike

如何(使用 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;

如何以毫秒为单位获得这个时间,这样我就可以将持续时间用作无符号整数,而不是 float ,然后乘以 1000?

最佳答案

std::chrono::duration有两个模板参数,第二个正是测量单位。您可以调用 std::chrono::duration_cast从一种持续时间类型转换为另一种持续时间类型。此外,还有一个预定义的毫秒持续时间类型:std::chrono::milliseconds .组合起来:

auto milliseconds = std::chrono::duration_cast<std::chrono::milliseconds>(foo - now);

要获得实际的毫秒数,请使用 duration::count :

auto ms = milliseconds.count();

它的返回类型是 duration::rep,对于像 std::chrono::milliseconds 这样的标准持续时间类型,它是一个未指定大小的有符号整数。

关于c++ - Chrono - 两个时间点之间的差异(以毫秒为单位)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31657511/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com