随笔 - 37  文章 - 0  评论 - 0  阅读 - 62346

C++11 std标准库chrono获取系统时间戳

微秒级精度系统时间操作

复制代码
 1 #include <chrono>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     // 获取操作系统当前时间点(精确到微秒)
 7     chrono::time_point<chrono::system_clock, chrono::microseconds> tpMicro
 8         = chrono::time_point_cast<chrono::microseconds>(chrono::system_clock::now());
 9     // (微秒精度的)时间点 => (微秒精度的)时间戳
10     time_t totalMicroSeconds = tpMicro.time_since_epoch().count();
11 
12 
13     // (微秒精度的)时间戳 => (微秒精度的)时间间隔
14     chrono::microseconds durMicro = chrono::microseconds(totalMicroSeconds);
15     // (微秒精度的)时间间隔 => (微秒精度的)时间点
16     tpMicro = chrono::time_point<chrono::system_clock, chrono::microseconds>(durMicro);
17     // (各种精度的)时间点 => (秒精度的)时间戳
18     time_t timestamp_s = std::chrono::system_clock::to_time_t(tpMicro);
19 
20     // 获取微秒时间
21     int micro = (totalMicroSeconds % 1000000);
22 
23 
24     // 将时间戳转换为时间格式
25     tm time;
26     gmtime_s(&time, &timestamp_s);
27 
28     char szTime[64];
29     sprintf_s(szTime, "%04d-%02d-%02d %02d:%02d:%02d.%06d",
30         time.tm_year + 1900, time.tm_mon + 1, time.tm_mday, (time.tm_hour + 8) % 24, time.tm_min, time.tm_sec, micro);
31 }
复制代码
posted on   Cynthia_W  阅读(6547)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示