我想用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测量软件中时间点之间的毫秒数,但这不是我想要的。我想要系统时钟的毫秒数。
答案 0 :(得分:3)
添加一行:
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;
答案 1 :(得分:0)
您可以尝试
using namespace std::chrono;
milliseconds ms = duration_cast< milliseconds >(
system_clock::now().time_since_epoch()
);