gpt4 book ai didi

c++ - 时间以微秒为单位询问,但以秒为单位

转载 作者:行者123 更新时间:2023-11-28 00:20:03 25 4
gpt4 key购买 nike

我在 Ubuntu 下读取系统时间时遇到了一些问题。我正在尝试获取两个 ptime 变量的差异。

这是我的声明:

#include "boost/date_time/posix_time/posix_time.hpp"

boost::posix_time::ptime now = boost::posix_time::microsec_clock::universal_time();
boost::posix_time::ptime last_time = now;
boost::posix_time::time_duration dt;
...

一段时间后我更新 now 变量并构建差异

now  = boost::posix_time::second_clock::universal_time();
dt = last_time - now;

问题是我想在我的项目中以毫秒分辨率工作,所以我将我得到的时间除以 1000(在将时间转换为微秒之后,如下所示)。

printf("%f", (double)dt.total_microseconds());

问题是我只得到了第二个分辨率的值。我已经尝试过 local_time() 而不是 universal_time()。它没有解决我的问题...

你们有什么建议吗?

谢谢你的帮助。

最佳答案

在 C++11 中可以很容易地完成这些事情。

#include <chrono>
using std::chrono::high_resolution_clock;
using std::chrono::milliseconds;
using std::chrono::nanoseconds;

auto t0 = high_resolution_clock::now();

// do something here ...

auto t1 = high_resolution_clock::now();
// get miliseconds result.
milliseconds total_milliseconds = std::chrono::duration_cast<milliseconds>(t1 - t0);
// get nanoseconds result.
nanoseconds total_nanoseconds = std::chrono::duration_cast<nanoseconds>(t1 - t0);

关于c++ - 时间以微秒为单位询问,但以秒为单位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27972831/

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