获取系统时间的几种方法,最高精确1ms

来源:互联网 发布:数据透视表页字段在哪 编辑:程序博客网 时间:2024/05/16 07:28

●【获取系统时间的几种方法,最高精确1ms】
1.硬件支持高精度计时器 ( 精确到1ms )

//获取的最准确,精确到1msLARGE_INTEGER nFreq;LARGE_INTEGER nBeginTime;LARGE_INTEGER nEndTime;double time;QueryPerformanceFrequency(&nFreq);QueryPerformanceCounter(&nBeginTime);       QueryPerformanceCounter(&nEndTime);time = (double)(nEndTime.QuadPart - nBeginTime.QuadPart) / (double)nFreq.QuadPart;CString str;str.Format("%lf", time);MessageBoxA(str);

2.使用CTime类   

CString str; //获取系统时间   CTime tm; tm=CTime::GetCurrentTime();   str=tm.Format("现在时间是%Y年%m月%d日 %X");MessageBox(str,NULL,MB_OK);

3: 得到系统时间日期(使用GetLocalTime)  

SYSTEMTIME st;   CString strDate,strTime;   GetLocalTime(&st);   strDate.Format("%4d-%2d-%2d",st.wYear,st.wMonth,st.wDay);   strTime.Format("%2d:%2d:%2d",st.wHour,st.wMinute,st.wSecond);

4.使用GetTickCount//获取程序运行时间  

 long t1=GetTickCount();//程序段开始前取得系统运行时间(ms)   Sleep(500); long t2=GetTickCount();//程序段结束后取得系统运行时间(ms)   str.Format("time:%dms",t2-t1);//前后之差即 程序运行时间   AfxMessageBox(str);//获取系统运行时间   long t=GetTickCount();   CString str,str1;   str1.Format("系统已运行 %d时",t/3600000);   str=str1;   t%=3600000;   str1.Format("%d分",t/60000);   str+=str1;  t%=60000;   str1.Format("%d秒",t/1000);   str+=str1; AfxMessageBox(str);
0 0
原创粉丝点击