首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在C++中以毫秒为单位获得系统时间(自纪元以来就没有了)?

如何在C++中以毫秒为单位获得系统时间(自纪元以来就没有了)?
EN

Stack Overflow用户
提问于 2019-10-15 13:59:37
回答 2查看 189关注 0票数 0

我想以(在Linux上)获取系统时钟的当前毫秒。

我想要的是系统时钟的小时、分钟、秒和毫秒。使用以下代码,我能够获得小时、分钟和秒:

代码语言:javascript
复制
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(&currentTime_c), "%T");

但是,我无法找到如何获得系统的毫秒。

为了澄清这一点,我看到人们使用chrono::来测量软件中时间点之间的毫秒,但这是而不是我想要的。我要系统时钟的毫秒。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-15 14:05:23

增加一行:

代码语言:javascript
复制
auto msec = chrono::duration_cast<chrono::milliseconds>(currentTime - chrono::system_clock::from_time_t(currentTime_c));

另一种选择是:

代码语言:javascript
复制
auto msec2 = chrono::duration_cast<chrono::milliseconds>(currentTime.time_since_epoch()) % 1000;
票数 3
EN

Stack Overflow用户

发布于 2019-10-15 14:07:12

你可以试试这个

代码语言:javascript
复制
using namespace std::chrono;
milliseconds ms = duration_cast< milliseconds >(
    system_clock::now().time_since_epoch()
);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58396473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档