1. 程式人生 > >C++獲得時間戳 C++11的chrono庫

C++獲得時間戳 C++11的chrono庫

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