gpt4 book ai didi

c++ - 获取时间的毫秒部分

转载 作者:行者123 更新时间:2023-11-30 16:31:55 27 4
gpt4 key购买 nike

我需要从计时器获取毫秒

    // get timer part
time_t timer = time(NULL);
struct tm now = *localtime( &timer );
char timestamp[256];

// format date time
strftime(timestamp, sizeof(timestamp), "%Y-%m-%d_%H.%M.%S", &now);

我想在 C# 中得到这样的结果:

DateTime.Now.ToString("yyyy-MM-dd_HH.mm.ss.ff")

我尝试使用 %f 或 %F 但它确实适用于 C++。我如何从 tm 获取 %f 毫秒数?

最佳答案

#include <chrono>

typedef std::chrono::system_clock Clock;

auto now = Clock::now();
auto seconds = std::chrono::time_point_cast<std::chrono::seconds>(now);
auto fraction = now - seconds;
time_t cnow = Clock::to_time_t(now);

然后您可以以秒精度打印出 time_t,然后打印分数代表的任何内容。可以是毫秒、微秒或其他时间。要具体获取毫秒:

auto milliseconds = std::chrono::duration_cast<std::chrono::milliseconds>(fraction);
std::cout << milliseconds.count() << '\n';

关于c++ - 获取时间的毫秒部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50372863/

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