gpt4 book ai didi

C++:将 chrono::high_resolution_clock 转换为 time_t

转载 作者:太空狗 更新时间:2023-10-29 19:47:36 25 4
gpt4 key购买 nike

我有以下代码可以正常工作:

 auto my_time = std::chrono::system_clock::now();
std::cout << "My Time is " << std::chrono::system_clock::to_time_t(my_time) << std::endl;

但是,如果我像下面这样用 high_resolution_clock 替换 system_clock:

auto my_time = std::chrono::high_resolution_clock::now();
std::cout << "My Time is " << std::chrono::high_resolution_clock::to_time_t(my_time) << std::endl;

我收到以下错误:

    no member named 'to_time_t' in 'std::__1::chrono::steady_clock'
std::cout << "My Time is " << std::chrono::high_resolution_clock::to_time_t(my_time) << std::endl;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
1 error generated.

知道如何让 high_resolution_clock 在这里工作吗? (我正在对一些功能进行基准测试,所以想使用 high_resolution_clock 而不是 system_clock)谢谢!

最佳答案

通常,不可能将chrono::high_resolution_clock::time_point 转换为time_t。这不仅仅是因为它缺少 to_time_t 成员函数。这是因为:

There is absolutely no relationship between the time time_t measures and the time high_resolution_clock::time_point measures.

high_resolution_clock 视为秒表。您可以使用它来衡量某些事件发生所花费的时间。但是你不能用它来判断一天中的时间。

在我的平台上,high_resolution_clock 测量自系统启动以来的纳秒 数。如果您不知道系统启动的时间,则无法将 high_resolution_clock 转换为一天中的时间。

time_t 另一方面通常测量自 1970-01-01 00:00:00 UTC 以来的时间,因此确实与时间有关系-一天。

关于C++:将 chrono::high_resolution_clock 转换为 time_t,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53751482/

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