#include <windows.h>
#include <time.h>
#include <stdio.h>
ULONG GetTimeDis(struct tm first, struct tm second)//计算两次时间差
{
return abs((first.tm_hour * 3600 + first.tm_min * 60 + first.tm_sec) - (second.tm_hour * 3600 + second.tm_min * 60 + second.tm_sec));
}
void Delay(ULONG ulMicroSeconds)
{
LARGE_INTEGER timeStop;
LARGE_INTEGER timeStart;
LARGE_INTEGER Freq;
ULONG ulTimeToWait;
if (!QueryPerformanceFrequency(&Freq))
return;
ulTimeToWait = Freq.QuadPart * ulMicroSeconds / 1000 / 1000;
QueryPerformanceCounter(&timeStart);
timeStop = timeStart;
while (timeStop.QuadPart - timeStart.QuadPart < ulTimeToWait)
{
QueryPerformanceCounter(&timeStop);
}
}
int main(void)
{
struct tm timeStart, timeEnd;
_getsystime(&timeStart);
Delay(1000 * 1000 * 3);//3秒
_getsystime(&timeEnd);
printf("用时:%d秒\n", GetTimeDis(timeStart, timeEnd));
return 0;
}