您的位置:首页 > 其它

MFC中获得系统时间的方法

2015-01-08 17:26 363 查看
1.使用CTime类

CString str; //获取系统时间

CTime tm; tm=CTime::GetCurrentTime(); 

str=tm.Format("现在时间是%Y年%m月%d日 %X"); MessageBox(str,NULL,MB_OK);

2: 得到系统时间日期(使用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);

3.使用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);

源文档 <http://blog.163.com/zhang672404141@126/blog/static/69227982200951234156411/>

在C函数库中的time.h中有个clock()函数,它可以返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock)。其中clock_t是用来保存时间的数据类型。因此,我们可以按照如下方法计算程序运行时间:

clock_t timeBegin = clock();

/******************/

/*   main函数的执行或某个方法的调用     */

/******************/

clock_t timeFinish = clock();

std::cout<<timeFinish -timeBegin <<std::endl;

这样就可以看到某个函数的具体执行时间了,其单位是毫秒。

PS.java中也有类似的获取系统时间的方法。

取得当前时间System.currentTimeMillis();在程序的开始处取一下,然后在程序退出前再取一下,两次取得的值相减就是程序运行的时间,单位是毫秒。返回类型是long

源文档 <http://hi.baidu.com/buptyoyo/blog/item/62b770265b653439c89559b7.html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: