#include <iomanip>
#include "iostream"
#include "chrono"
using namespace::std;
int main()
{
chrono::hours t1(1);
chrono::minutes t2(60);
chrono::seconds t3(60*60);
chrono::milliseconds t4(60*60*1000);
//chrono::microseconds t5(60*60*1000*1000);//警告:整数溢出。
//chrono::nanoseconds t6(60*60*1000*1000*1000);//警告:整数溢出。
if (t1==t2)cout<<"t1==t2\n";
if(t1==t3)cout<<"t1==t3\n";
if (t1==t4)cout<<"t1==t4\n";
//获取时钟周期的值。
cout<<"t1="<<t1.count()<<endl;
cout<<"t2="<<t2.count()<<endl;
cout<<"t3="<<t3.count()<<endl;
cout<<"t4="<<t4.count()<<endl;
chrono::seconds t7(1);
chrono::milliseconds t8(1000);
chrono::microseconds t9(1000*1000);
chrono::nanoseconds t10(1000*1000*1000);
if(t7 == t8) cout<<"t7==t8\n";
if (t7 == t9) cout<<"t7==t9\n";
if (t7 == t10) cout<<"t7==t10\n";
//获取时钟周期的值
cout<<"t7="<<t7.count()<<endl;
cout<<"t8="<<t8.count()<<endl;
cout<<"t9="<<t9.count()<<endl;
cout<<"t10="<<t10.count()<<endl;
//1)静态成员函数chrono::system_clock::now()用于获取系统时间。(c++时间)
chrono::time_point<chrono::system_clock> now=chrono::system_clock::now();
//2)静态成员函数chrono::system_clock::to_time_t()把系统时间转换为time_t。(UTC时间)
time_t t_now=chrono::system_clock::to_time_t(now);
t_now=t_now+24*60*60;//把当前时间加一天。
//t_now=t_now+ -1*60*60;
//t_now=t_now+120;//
// std::localtime()函数把time_t转换为本地时间.(北京时间).
//3)std::localtime()不是线程安全的,VS用localtime_s替代,linux用localtime_r替代。
tm* tm_now=std::localtime(&t_now);
//4)格式化输出tm结构体中的成员。
std::cout<<std::put_time(tm_now,"%Y-%m-%d %H:%M:%S")<<std::endl;
std::cout<<std::put_time(tm_now,"%Y-%m-%d")<<std::endl;
std::cout<<std::put_time(tm_now,"%H:%M:%S")<<std::endl;
std::cout<<std::put_time(tm_now,"%Y%m%d%H%M%S")<<std::endl;
stringstream ss;//创建stringstream对象ss,需要包含<sstream>头文件。
ss<<std::put_time(tm_now,"%Y-%m-%d %H:%M:%S");
string timestr=ss.str();//把ss转换string的对象.
cout<<timestr<<endl;
//3.计时器
//静态成员函数chrono::steady_clock::now()获取开始的时间.
chrono::steady_clock::time_point starts=chrono::steady_clock::now();
//执行一些代码,让它消耗一些时间。
cout<<"计时开始......\n";
for (int ii = 0; ii < 10; ++ii) {
cout<<"我是一只傻傻鸟。\n";
}
cout<<"计时完成.........\n";
//静态成员函数chrono::steady_clock::now()获得结束的时间点。
chrono::steady_clock::time_point end=chrono::steady_clock::now();
//计算消耗的时间。
auto dt=end-starts;
cout<<"耗时:"<<dt.count()<<"纳秒("<<(double)dt.count()/(1000*1000*1000)<<"秒)";
//注很多时候都可以使用auto代替。
}
t1==t2
t1==t3
t1==t4
t1=1
t2=60
t3=3600
t4=3600000
t7==t8
t7==t9
t7==t10
t7=1
t8=1000
t9=1000000
t10=1000000000
2024-05-06 20:36:03
2024-05-06
20:36:03
20240506203603
2024-05-06 20:36:03
计时开始……
我是一只傻傻鸟。
我是一只傻傻鸟。
我是一只傻傻鸟。
我是一只傻傻鸟。
我是一只傻傻鸟。
我是一只傻傻鸟。
我是一只傻傻鸟。
我是一只傻傻鸟。
我是一只傻傻鸟。
我是一只傻傻鸟。
计时完成………
耗时:999200纳秒(0.0009992秒)
发表回复