微秒级精度系统时间操作
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, ×tamp_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 }
原文链接: https://www.cnblogs.com/IAMSailorMoon/p/15104496.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/212788
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!