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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章