c++三种获取时间方法

本文详细介绍了Windows系统中三种获取时间的方法:GetLocalTime()用于获取系统当前时间;GetTickCount()用于获取系统启动后的毫秒数;QueryPerformanceCounter()则提供了一个高精度的计时器值。这些函数适用于不同的应用场景,如系统时间显示、游戏计时等。

1.GetLocalTime()

作用:获取系统从启动至今的时间。精确到毫秒。

用法:

	SYSTEMTIME localtime; 
	GetLocalTime(&localtime); //获取时间
	cout<<localtime.wHour<<endl;//输出
	cout<<localtime.wMinute<<endl;
	cout<<localtime.wSecond<<endl;
	cout<<localtime.wMilliseconds<<endl;


2.GetTickCount()

作用:获取系统从启动至今的毫秒数。

用法:

	DWORD time=GetTickCount();//直接获取便可
	DWORD result=0;
	cout<<time<<endl;


3.QueryPerformanceCounter()

作用:获取系统启动至今高精度计时器的值。

用法:

LARGE_INTEGER nTime;
	LONGLONG fre;
	double time1,time2;
	double time3;
	QueryPerformanceFrequency(&nTime);//获得机器时钟频率
	fre=nTime.QuadPart;					//机器时钟频率
	QueryPerformanceCounter(&nTime);//计时器值1
	time1=nTime.QuadPart;
	Sleep(10);
	QueryPerformanceCounter(&nTime);//计时器值2
	time2=nTime.QuadPart;
	time3=(time2-time1)/fre; //求出时间【单位秒】
	cout<<fre<<endl;
	cout<<time1<<endl;
	cout<<time2<<endl;
	cout<<time3*1000<<endl;


以上三种情况在不同场景下应用。例如第一种取系统时间就比较方便,后两种在游戏定时器里头比较多见吧。

(vs2010 控制台工程 通过)


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值