1 #include <chrono>
2 void current_time()
3 {
4 // 当前时间点
5 std::chrono::system_clock::time_point t_now =
6 std::chrono::high_resolution_clock::now();
7 // 转换精度到微秒级别
8 std::chrono::time_point<std::chrono::system_clock, std::chrono::microseconds> t_n =
9 std::chrono::time_point_cast<std::chrono::microseconds>(t_now);
10
11 time_t nt = std::chrono::system_clock::to_time_t(t_now);
12 struct tm btm;
13 #ifdef _WIN32
14 localtime_s(&btm, &nt);
15 #else
16 localtime_r(&nt, &btm);
17 #endif
18
19 char mbstr[256] = { 0 };
20 strftime(mbstr, sizeof(mbstr), "%Y-%m-%d %H:%M:%S", &btm);
21 printf("%s.%06" PRIu64 "\n", mbstr, t_n.time_since_epoch() % 1000000);
22 }