C++ chrono 获取当前时间
Posted 落霞与孤鹜亓飞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ chrono 获取当前时间相关的知识,希望对你有一定的参考价值。
代码
#include <chrono>
#include <ctime>
#include <iostream>
int main()
using namespace std;
using namespace std::chrono;
// 获取当前时间
system_clock::time_point now = system_clock::now();
// 距离1970-01-01 00:00:00的纳秒数
chrono::nanoseconds d = now.time_since_epoch();
cout << "current nanoseconds: " << d.count() << endl;
// 转换为微秒数, 会有精度损失
chrono::microseconds mcrosec = chrono::duration_cast<chrono::microseconds>(d);
cout<<"current microseconds: " << mcrosec.count() << endl;
// 转换为毫秒数, 会有精度损失
chrono::milliseconds millsec = chrono::duration_cast<chrono::milliseconds>(d);
cout<<"current milliseconds: " << millsec.count() << endl;
// 转换为秒数,会有精度损失
chrono::seconds sec = chrono::duration_cast<chrono::seconds>(d);
cout<<"current seconds: " << sec.count() << endl;
// 转换为秒数,会有精度损失
chrono::minutes minutes = chrono::duration_cast<chrono::minutes>(d);
cout<<"current minutes: " << minutes.count() << endl;
// 转换为小时
chrono::hours hours = chrono::duration_cast<chrono::hours>(d);
cout<<"current hours: "<<hours.count()<<endl;
// 转换为天
typedef chrono::duration<int,ratio<24*60*60>> Day;
Day days = chrono::duration_cast<Day>(d);
cout<<"current days: "<<days.count()<<endl;
// 转换成ctime中的time_t类型
time_t tt = system_clock::to_time_t(now);
// 输出时间
cout << "string format: " << ctime(&tt) << endl;
return 0;
运行结果
chrono介绍
chrono头文件中主要包括三个类:
更多的信息参考: http://www.cplusplus.com/reference/chrono/
以上是关于C++ chrono 获取当前时间的主要内容,如果未能解决你的问题,请参考以下文章
从 C++ 中的 std::chrono::time_point 中提取年/月/日等