如何在 C++ 中以毫秒为单位获取系统时间(不是自纪元以来)?
How do I get system time in millisecond in C++ (not since epoch)?
我想在 C++ 中获取系统时钟的当前 毫秒 (在 Linux OS 上)。
我要的是系统时钟的时分秒毫秒。我已经能够使用以下代码获取小时、分钟和秒:
chrono::system_clock::time_point currentTime = chono::system_clock::now();
time_t currentTime_c = chrono::system_clock::to_time_t(currentTime);
cout<<"Current time is: "<<put_time(localtime(¤tTime_c), "%T");
但是我一直没找到如何获取系统的毫秒数。
澄清一下,我看到有人使用 chrono::duration 来测量软件中时间点之间的毫秒数,但这 不是 我想要的。我想要系统时钟的毫秒数。
添加一行:
auto msec = chrono::duration_cast<chrono::milliseconds>(currentTime - chrono::system_clock::from_time_t(currentTime_c));
或者:
auto msec2 = chrono::duration_cast<chrono::milliseconds>(currentTime.time_since_epoch()) % 1000;
你可以试试这个
using namespace std::chrono;
milliseconds ms = duration_cast< milliseconds >(
system_clock::now().time_since_epoch()
);
我想在 C++ 中获取系统时钟的当前 毫秒 (在 Linux OS 上)。
我要的是系统时钟的时分秒毫秒。我已经能够使用以下代码获取小时、分钟和秒:
chrono::system_clock::time_point currentTime = chono::system_clock::now();
time_t currentTime_c = chrono::system_clock::to_time_t(currentTime);
cout<<"Current time is: "<<put_time(localtime(¤tTime_c), "%T");
但是我一直没找到如何获取系统的毫秒数。
澄清一下,我看到有人使用 chrono::duration 来测量软件中时间点之间的毫秒数,但这 不是 我想要的。我想要系统时钟的毫秒数。
添加一行:
auto msec = chrono::duration_cast<chrono::milliseconds>(currentTime - chrono::system_clock::from_time_t(currentTime_c));
或者:
auto msec2 = chrono::duration_cast<chrono::milliseconds>(currentTime.time_since_epoch()) % 1000;
你可以试试这个
using namespace std::chrono;
milliseconds ms = duration_cast< milliseconds >(
system_clock::now().time_since_epoch()
);