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納秒