c++chrono实现一个计时器,每隔一秒向屏幕输出当前时间

//2022.05.16.
//要求利用chrono实现定时器功能,每隔一秒钟获得系统时间并输出到控制台
//1.先系统认识了下c++11的chrono
//chrono是在std下,属于C++11的标准
//Durantions:时间段
//Time points:时间点
//Clocks:包括system_clock(系统时钟), steady_clock(稳定时钟); high_resolution_clock(高精度时钟);
//在此就用系统时钟进行测试。开始思路是用Sleep休眠1秒,用now函数持续输出当前时间,后来发现错了
//2.本程序思路用时间间隔duration来进行那一秒钟的判断,如果duration为1秒就输出now()

#include  
#include
#include
#pragma warning(disable:4996)
using namespace std;
using namespace chrono;
int main()
{
	time_t start_t, end_t;
	auto start = system_clock::now();//运用c++11auto
	auto end = system_clock::now();
	start_t = system_clock::to_time_t(start);//to_time_t函数:time_point转换成time_t秒(即ctime标准类型)
	std::cout << "now is: " << ctime(&start_t);//ctime函数:time_t 转 string
	long long duration = std::chrono::duration_cast(end - start).count();
	while (1)
	{

		for (int i = 0;;) //用for语句进行判断
		{
			end = system_clock::now();

			duration = std::chrono::duration_cast(end - start).count();
			if (duration == 1000) //如果时间间隔为1000ms即1秒就退出for语句
			{
				break;
			}
		}
		end_t = system_clock::to_time_t(end);//to_time_t函数:time_point转换成time_t秒(即ctime标准类型)
		std::cout << "now is: " << ctime(&end_t);//ctime函数:time_t 转 string
		start = end;//将start更新成当前end时刻,便于下次循环
		duration = 0;//将duration置为0,便于下次循环
	}
	return 0;
}

你可能感兴趣的:(c++知识点,c++,开发语言)