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

猜你喜欢

转载自blog.csdn.net/weixin_41855721/article/details/81810692
今日推荐