C++獲得時間戳 C++11的chrono庫
阿新 • • 發佈:2019-01-01
steady_clock::duration d = steady_clock::now().time_since_epoch(); minutes min = duration_cast<minutes>(d); seconds sec = duration_cast<seconds>(d); milliseconds mil = duration_cast<milliseconds>(d); microseconds mic = duration_cast<microseconds>(d); nanoseconds nan = duration_cast<nanoseconds>(d); cout << min.count() << "分鐘" << endl; cout << sec.count() << "秒" << endl; cout << mil.count() << "毫秒" << endl; cout << mic.count() << "微妙" << endl; cout << nan.count() << "納秒" << endl;
標頭檔案:
#include <chrono>
名稱空間:
using namespace std::chrono;
steady_clock這個時鐘和system_clock不同,system_clock與系統時間相對應,如果手工調整或者作業系統自動與網路時鐘同步時呼叫system_clock.now()獲得的時間也會收到影響,兩次呼叫時,可能第二次呼叫時獲取的時間反而更早。steady_clock保證時間是勻速前進的,不受系統時鐘調整的影響。
steady_clock::duration d = steady_clock::now().time_since_epoch();得到的是當前時間與1970.1.1之間的時間間隔。通過型別轉換,可以轉成各種精度的表示。
執行結果為:
25576390分鐘
1534583456秒
1534583456057毫秒
1534583456057614微妙
1534583456057614000納秒