#include #include#include //clock, gettimeofday, time
#include //Sleep, GetTickCount, timeGetTime, QueryPerformanceCounter
#include
//#pragma comment(lib, "winmm.lib")//timeGetTime, 但是这个库Windows或Qt或VS2015都没有自带
const unsigned long SLEEP_TIME_MILL = 1000;
voidcalcByQtimeElapsed() {
QTime time;
time.start();
QThread::msleep(SLEEP_TIME_MILL);int timeElapsed =time.elapsed();
qDebug()<
}
voidcalcByQtimeCurrentTime() {
QTime startTime=QTime::currentTime();
QThread::msleep(SLEEP_TIME_MILL);
QTime stopTime=QTime::currentTime();int elapsed =startTime.msecsTo(stopTime);
qDebug()<
}
voidcalcByClock() {
clock_t startTime=clock();
Sleep(SLEEP_TIME_MILL);
clock_t endTime=clock();
clock_t elapsed= endTime -startTime;
qDebug()<
}
voidcalcByTickCount() {//返回自开机以来经历的毫秒数
DWORD startTime =GetTickCount();
Sleep(SLEEP_TIME_MILL);
DWORD stopTime=GetTickCount();
DWORD elapsed= stopTime -startTime;
qDebug()<
}////void calcByTimeGetTime() {// //返回自开机以来经历的毫秒数//DWORD startTime = timeGetTime();//Sleep(SLEEP_TIME_MILL);//DWORD stopTime = timeGetTime();//DWORD elapsed = stopTime - startTime;//qDebug()<
voidcalcByGetTimeOfDay() {structtimeval startTime, stopTime;
gettimeofday(&startTime, NULL);
Sleep(SLEEP_TIME_MILL);
gettimeofday(&stopTime, NULL);long elapsed = (stopTime.tv_sec-startTime.tv_sec) * 1000000 + (stopTime.tv_usec -startTime.tv_usec);
qDebug()<
}
voidcalcByQueryPerformanceCounter() {
LARGE_INTEGER frequency, startCount, stopCount;
WINBOOL ret;//返回性能计数器每秒滴答的个数
ret = QueryPerformanceFrequency(&frequency);if(ret) {
ret= QueryPerformanceCounter(&startCount);
}
Sleep(SLEEP_TIME_MILL);if(ret) {
QueryPerformanceCounter(&stopCount);
}if(ret) {
LONGLONG elapsed= (stopCount.QuadPart - startCount.QuadPart) * 1000000 /frequency.QuadPart;
qDebug()<
}
}
voidcalcByTime() {
time_t startTime=time(NULL);
Sleep(SLEEP_TIME_MILL);
time_t stopTime=time(NULL);long elapsed = stopTime -startTime;
qDebug()<
}int main(int argc, char *argv[])
{
calcByQtimeElapsed();
calcByQtimeCurrentTime();
calcByClock();
calcByTickCount();//calcByTimeGetTime();
calcByGetTimeOfDay();
calcByQueryPerformanceCounter();
calcByTime();
system("pause");return 0;
}