gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 23:04:00 48 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/10654258/

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